| 6 | 1/1 | 返回列表 |
| 查看: 1679 | 回復(fù): 5 | |||
wahaha2000銅蟲 (小有名氣)
|
[求助]
請教一個while loop程序的問題
|
|
程序的代碼如下: int turn; boolean flag[2]; do { flag=TRUE; turn=j; while ( flag && turn==j); critical section flag = false; remainder section } while (TRUE); 這是Abraham Siberschatz等寫的《操作系統(tǒng)概念(第七版 影印版)》第196頁的代碼。 我想問的是:語句 while ( flag && turn==j); 有什么作用?我在譚浩強的C語言書和《C語言參考手冊》中沒找到合適的解答? 非常感謝! |
|
這個是系統(tǒng)的互斥鎖吧,你用譚浩強教的東西怎么能學(xué)到這種東西呃~ flag是一個互斥鎖,需要進入臨界區(qū)的進程都把自己的鎖設(shè)置為true 這里只假設(shè)有兩個進程,進程1需要進入臨街區(qū)時就把自己的開關(guān)打開,然后去檢查另外一個鎖,這里分三種情況: 1.另外一個鎖被打開了 2.兩個進程同時在競爭,本進程競爭失敗 3.本進程競爭成功 只有情況3才進入臨界區(qū)。情況1是檢查flag[ 1 - ture ]為true的情況,情況2是ture不指向 j 的情況。 |

木蟲 (正式寫手)
銅蟲 (小有名氣)
銅蟲 (小有名氣)
|
再比如下面的代碼: 【 while (true) { /* produce an item in nextProduced */ while (counter == BUFFER_SIZE) ; /* do nothing */ buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; counter++; } 】 其中【while (counter == BUFFER_SIZE) ; 】起什么作用? (1)若 counter == BUFFER_SIZE 為真,程序怎么運行? 【buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; counter++; 】 還接著運行嗎? (2)若 counter == BUFFER_SIZE 為假,程序怎么運行? 能否給我推薦一本有此內(nèi)容的參考書,非常感謝! |
木蟲 (正式寫手)
| 6 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 11408軟件工程求調(diào)劑 +3 | Qiu學(xué)ing 2026-03-28 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 一志愿211 初試270分 求調(diào)劑 +7 | 谷雨上岸 2026-03-23 | 8/400 |
|
|
[考研] 藥學(xué)105500求調(diào)劑 +3 | Ssun。。 2026-03-28 | 3/150 |
|
|
[考研] 張芳銘-中國農(nóng)業(yè)大學(xué)-環(huán)境工程專碩-298 +4 | 手機用戶 2026-03-26 | 4/200 |
|
|
[考研] 315分求調(diào)劑 +7 | 26考研上岸版26 2026-03-26 | 7/350 |
|
|
[考研] 0703化學(xué)求調(diào)劑,各位老師看看我。! +5 | 祁祺祺 2026-03-25 | 5/250 |
|
|
[考研] 復(fù)試調(diào)劑,一志愿南農(nóng)083200食品科學(xué)與工程 +5 | XQTJZ 2026-03-26 | 5/250 |
|
|
[考研] 考研化學(xué)308分求調(diào)劑 +10 | 你好明天你好 2026-03-23 | 12/600 |
|
|
[考研] 322求調(diào)劑 +4 | 我真的很想學(xué)習(xí) 2026-03-23 | 4/200 |
|
|
[考研] 359求調(diào)劑 +4 | 王了個楠 2026-03-25 | 4/200 |
|
|
[考研]
材料學(xué)碩,求調(diào)劑
6+5
|
糖葫蘆888ll 2026-03-22 | 10/500 |
|
|
[考研] 341求調(diào)劑 +7 | 青檸檬1 2026-03-26 | 7/350 |
|
|
[考研] 求調(diào)劑 一志愿 本科 北科大 化學(xué) 343 +6 | 13831862839 2026-03-24 | 7/350 |
|
|
[考研] 294分080500材料科學(xué)與工程求調(diào)劑 +4 | 柳溪邊 2026-03-26 | 4/200 |
|
|
[考研] 321求調(diào)劑 +6 | wasdssaa 2026-03-26 | 6/300 |
|
|
[考研] 調(diào)劑 +4 | 柚柚yoyo 2026-03-26 | 4/200 |
|
|
[考研] 材料考研求調(diào)劑 +3 | Dendel 2026-03-23 | 6/300 |
|
|
[考研] 347求調(diào)劑 +4 | L when 2026-03-25 | 4/200 |
|
|
[考研] 一志愿國科過程所081700,274求調(diào)劑 +3 | 三水研0水立方 2026-03-23 | 3/150 |
|
|
[論文投稿] 急發(fā)核心期刊論文 +3 | 賢達問津 2026-03-23 | 5/250 |
|