| 5 | 1/1 | 返回列表 |
| 查看: 1680 | 回復: 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)的互斥鎖吧,你用譚浩強教的東西怎么能學到這種東西呃~ flag是一個互斥鎖,需要進入臨界區(qū)的進程都把自己的鎖設置為true 這里只假設有兩個進程,進程1需要進入臨街區(qū)時就把自己的開關打開,然后去檢查另外一個鎖,這里分三種情況: 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 為假,程序怎么運行? 能否給我推薦一本有此內容的參考書,非常感謝! |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 283求調劑 +3 | A child 2026-03-28 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 320分,材料與化工專業(yè),求調劑 +9 | 一定上岸aaa 2026-03-27 | 13/650 |
|
|
[考研] 070300求調劑306分 +4 | 26要上岸 2026-03-27 | 4/200 |
|
|
[考研] 311求調劑 +9 | lin0039 2026-03-26 | 9/450 |
|
|
[考研] 藥學105500求調劑 +3 | Ssun。。 2026-03-28 | 3/150 |
|
|
[考研] 085701環(huán)境工程求調劑 +9 | 多久上課 2026-03-27 | 9/450 |
|
|
[考研] 285求調劑 +4 | AZMK 2026-03-27 | 7/350 |
|
|
[考研] 安徽大學專碩生物與醫(yī)藥專業(yè)(086000)324分,英語已過四六級,六級521,求調劑 +4 | 美味可樂雞翅 2026-03-26 | 4/200 |
|
|
[考研] 08開頭275求調劑 +4 | 拉誰不重要 2026-03-26 | 4/200 |
|
|
[考研] 一志愿華東理工大學081700,初試分數(shù)271 +6 | kotoko_ik 2026-03-23 | 7/350 |
|
|
[考研] 考研調劑 +10 | 呼呼?~+123456 2026-03-24 | 10/500 |
|
|
[考研] 調劑 +3 | 李嘉圖·S·路 2026-03-27 | 3/150 |
|
|
[論文投稿] Journal of Mechanical Science and Technology +3 | Russ_ss 2026-03-25 | 5/250 |
|
|
[考研] 0703化學一志愿南京師范大學303求調劑 +3 | zzffylgg 2026-03-24 | 3/150 |
|
|
[考研] 286求調劑 +4 | lim0922 2026-03-26 | 4/200 |
|
|
[考研] 求調劑 +6 | 林之夕 2026-03-24 | 6/300 |
|
|
[考研] 機械學碩310分,數(shù)一英一,一志愿211本科雙非找調劑信息 +3 | @357 2026-03-25 | 3/150 |
|
|
[考研]
|
WWW西西弗斯 2026-03-24 | 8/400 |
|
|
[考研] 求b區(qū)院校調劑 +4 | 周56 2026-03-24 | 5/250 |
|
|
[考研] 材料調劑 +3 | iwinso 2026-03-23 | 3/150 |
|