| 5 | 1/1 | 返回列表 |
| 查看: 1681 | 回復(fù): 5 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||
wahaha2000銅蟲(chóng) (小有名氣)
|
[求助]
請(qǐng)教一個(gè)while loop程序的問(wèn)題
|
||
|
程序的代碼如下: int turn; boolean flag[2]; do { flag=TRUE; turn=j; while ( flag && turn==j); critical section flag = false; remainder section } while (TRUE); 這是Abraham Siberschatz等寫(xiě)的《操作系統(tǒng)概念(第七版 影印版)》第196頁(yè)的代碼。 我想問(wèn)的是:語(yǔ)句 while ( flag && turn==j); 有什么作用?我在譚浩強(qiáng)的C語(yǔ)言書(shū)和《C語(yǔ)言參考手冊(cè)》中沒(méi)找到合適的解答? 非常感謝! |
銅蟲(chóng) (小有名氣)
|
非常感謝兩位蟲(chóng)友的回答。我想問(wèn)的是: 這個(gè) 【while ( flag && turn==j);】 語(yǔ)句應(yīng)該是C語(yǔ)言中的,但我看到的兩本C語(yǔ)言書(shū)(譚浩強(qiáng)的C語(yǔ)言書(shū)和《C語(yǔ)言參考手冊(cè)》)中好像沒(méi)這種用法,我想能不能給我推薦一本有這種用法的C語(yǔ)言書(shū),我仔細(xì)去推敲推敲。 本人學(xué)數(shù)學(xué)的,剛拿了本操作系統(tǒng)書(shū)看,問(wèn)的問(wèn)題有點(diǎn)初級(jí),非常抱歉! |
金蟲(chóng) (著名寫(xiě)手)
|
這個(gè)是系統(tǒng)的互斥鎖吧,你用譚浩強(qiáng)教的東西怎么能學(xué)到這種東西呃~ flag是一個(gè)互斥鎖,需要進(jìn)入臨界區(qū)的進(jìn)程都把自己的鎖設(shè)置為true 這里只假設(shè)有兩個(gè)進(jìn)程,進(jìn)程1需要進(jìn)入臨街區(qū)時(shí)就把自己的開(kāi)關(guān)打開(kāi),然后去檢查另外一個(gè)鎖,這里分三種情況: 1.另外一個(gè)鎖被打開(kāi)了 2.兩個(gè)進(jìn)程同時(shí)在競(jìng)爭(zhēng),本進(jìn)程競(jìng)爭(zhēng)失敗 3.本進(jìn)程競(jìng)爭(zhēng)成功 只有情況3才進(jìn)入臨界區(qū)。情況1是檢查flag[ 1 - ture ]為true的情況,情況2是ture不指向 j 的情況。 |

木蟲(chóng) (正式寫(xiě)手)
銅蟲(chóng) (小有名氣)
|
再比如下面的代碼: 【 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 為真,程序怎么運(yùn)行? 【buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; counter++; 】 還接著運(yùn)行嗎? (2)若 counter == BUFFER_SIZE 為假,程序怎么運(yùn)行? 能否給我推薦一本有此內(nèi)容的參考書(shū),非常感謝! |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 329求調(diào)劑 +7 | 星野? 2026-03-26 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 299求調(diào)劑 +8 | 15188958825 2026-03-25 | 8/400 |
|
|
[考研] 一志愿太原理工安全工程300分,求調(diào)劑 +5 | 0857求調(diào)劑. 2026-03-24 | 6/300 |
|
|
[考研] 085600,材料與化工321分求調(diào)劑 +9 | 大饞小子 2026-03-28 | 9/450 |
|
|
[考研] 315分求調(diào)劑 +7 | 26考研上岸版26 2026-03-26 | 7/350 |
|
|
[考研] 化學(xué)調(diào)劑 +4 | 愛(ài)吃番茄的旭 2026-03-24 | 5/250 |
|
|
[考研] 材料與化工085600,總分304,本科有兩篇sci參與,求調(diào)劑 +10 | 幸運(yùn)的醬醬 2026-03-22 | 12/600 |
|
|
[考研] 材料292調(diào)劑 +12 | 橘頌思美人 2026-03-23 | 12/600 |
|
|
[考研] 安徽大學(xué)專碩生物與醫(yī)藥專業(yè)(086000)324分,英語(yǔ)已過(guò)四六級(jí),六級(jí)521,求調(diào)劑 +4 | 美味可樂(lè)雞翅 2026-03-26 | 4/200 |
|
|
[考研] 0703化學(xué)338求調(diào)劑! +6 | Zuhui0306 2026-03-26 | 7/350 |
|
|
[考研] 343求調(diào)劑 +4 | 贈(zèng)我一本書(shū) 2026-03-23 | 4/200 |
|
|
[考研] 中國(guó)科學(xué)院深圳先進(jìn)技術(shù)研究院-光纖傳感課題組招生-中國(guó)科學(xué)院大學(xué)、深圳理工大學(xué)聯(lián)培 +5 | YangTyu1 2026-03-26 | 5/250 |
|
|
[考研] 289求調(diào)劑 +17 | 碩星赴 2026-03-23 | 17/850 |
|
|
[考研] 求b區(qū)院校調(diào)劑 +4 | 周56 2026-03-24 | 5/250 |
|
|
[考研] 296求調(diào)劑 +4 | 汪!?! 2026-03-25 | 7/350 |
|
|
[考研] 0854人工智能方向招收調(diào)劑 +4 | 章小魚(yú)567 2026-03-24 | 4/200 |
|
|
[考研] 293求調(diào)劑 +7 | 加一一九 2026-03-24 | 7/350 |
|
|
[考研] 080500求調(diào)劑 +3 | zzzzfan 2026-03-24 | 3/150 |
|
|
[考研] 一志愿山東大學(xué)藥學(xué)學(xué)碩求調(diào)劑 +3 | 開(kāi)開(kāi)心心沒(méi)煩惱 2026-03-23 | 4/200 |
|
|
[考研] 接收2026碩士調(diào)劑(學(xué)碩+專碩) +4 | allen-yin 2026-03-23 | 6/300 |
|