do { waiting [ i ] = TRUE; key = TRUE; while (waiting [ i ] && key) key = Swap (&lock, &key); waiting [ i ] = FALSE; / * critical section * / j = (i+1) % n; while ((j!=i) && !waiting [ j ]) j=(j+1) % n; if (j == i) lock = FALSE; else waiting [ j ] = FALSE; / * remainder section * / } while (TRUE);
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题