遍匈 / 柴麻字荷恬狼由 / 序殻才?殻砿尖 /

将灸序殻揖化諒籾3?學僥社序架諒籾

<貧匯准 和匯准>

諒籾宙峰

匯嫖垈彑貧恫彭5兆學僥社?耽曾倖學僥社岻寂議彑貧畏匯功衰徨?彑徨議嶄寂頁匯雷致傾?泌夕2-10侭幣。學僥社断買廣穎伏娼薦喘噐房深才序架?學僥社壓房深扮?旺音唹峒麿繁。峪嗤輝學僥社滋偶議扮昨?嘉編夕鎮軟恣、 嘔曾功衰徨?匯功匯功仇鎮軟?。泌惚衰徨厮壓麿繁返貧?夸俶吉棋。滋偶議學僥社峪嗤揖扮鎮欺阻曾功衰徨嘉辛參蝕兵序架?輝序架頼穎朔?慧和衰徨写偬房深。

諒籾蛍裂

1) 購狼蛍裂。5兆學僥社嚥恣嘔惣肖斤凪嶄寂衰徨議恵諒頁札鰍購狼。

2) 屁尖房揃。?堡師眄鑽侘絽欞瑢漫1礁盖長惻軀波膾糧智燦汶槃Ъ卍探竣靡卅集欵袗啅瑗市豎彬惜璟鰌濕?氐嶇鵝D巴棺眈檥酬39仭集?r燦?波男藭罵j営蛋集欵袗咤散鯁廼埣晋汶槃Ъ匍超塚煒洞┨耡鬘?榁蘯?欄鰌瀚惜痤嶇鶺跳?絁?


夕2-10 5兆學僥社序架

3) 佚催楚譜崔。協吶札鰍佚催楚方怏Ch0PstiCk[5] = {l, 1, 1, 1, 1}喘噐斤5倖衰徨議札鰍恵諒。

斤學僥社梓乏會貫0 ?4園催?學僥社i恣円議衰徨議園催葎i?學僥社嘔円議衰徨議園催葎(i+l)%5。
semaphore chopstick[5] = {1,1,1,1,1}; //協吶佚催楚方怏chopstick[5],旺兜兵晒
Pi(){ //i催學僥社議序殻
 do{
 P (chopstick[i] ) ; //函恣円衰徨
 P (chopstick[(i+1) %5] ) ? //函嘔円齠徨
 eat; //序架
 V(chopstick[i]) ; //慧指恣円衰徨
 V(chopstick[(i+l)%5]); //慧指嘔円衰徨
 think; //房深
 } while (1);
}

乎麻隈贋壓參和諒籾?輝励倖學僥社脅?勣序架?蛍艶鎮軟麿断恣円衰徨議扮昨?脅如挫峇佩頼wait(chopstick[i]);)衰徨厮将瓜鎮高阻?吉欺麿断壅?鎮嘔円議衰徨議扮昨?峇佩 wait(chopstick[(i+l)%5]);)祥畠瓜怦毘阻?宸祥竃孖阻棒迄。

葎阻契峭棒迄議窟伏?辛參斤學僥社序殻仏紗匯乂尫崙訳周?曳泌崛謹塋俯膨倖學僥社揖扮序架;叙輝匯倖學僥社恣嘔曾円議衰徨脅辛喘扮嘉塋俯麿廛軟衰徨;斤學僥社乏會園催?勣箔謎方催學僥社枠廛恣円議衰徨?隼朔壅廬麿嘔円議衰徨?遇甜方催學僥社胡挫屢郡。屎盾崙協号夸泌和?邪譜??喘及屈嶽圭隈?輝匯倖學僥社恣嘔曾円議衰徨脅辛喘扮?嘉塋俯麿廛軟衰徨。
semaphore chopstick[5] = {1,1,1,1,1}; //兜兵晒佚催楚
semaphore mutex=l; //譜崔函衰徨議佚催楚
Pi(){ //i催學僥社議序殻
 do{
 P (mutex) ; //壓函衰徨念資誼札鰍楚
 P (chopstick [i]) ; //函恣円衰徨
 P (chopstick[ (i+1) %5]) ; //函嘔円衰徨
 V (mutex) ; //瞥慧函衰徨議佚催楚
 eat; //序架
 V(chopstick[i] ) ; //慧指恣円衰徨
 V(chopstick[ (i+l)%5]) ; //慧指嘔円衰徨
 think; // 房深
 }while(1);
}
緩翌珊辛參??喘AND侏佚催楚字崙栖盾畳學僥社序架諒籾?嗤佶箸議響宀辛參臥堋屢購彿創?徭佩房深。
<貧匯准 和匯准>

AltStyle によって変換されたページ (->オリジナル) /