1. 程式人生 > >用信號量及其PV操作處理實際問題

用信號量及其PV操作處理實際問題

roc pty pv操作 產生 處理 信號 一個 問題 ==

p187.43

semaphore empty=1;橘子精=0;糖=0;水=0;

Process product(){

While(true){

P(empty);

產生一個隨機數s;

If(s==0) V(橘子精);

If(s==1) V(水);

if(s==2)V(糖)

}

}

Process P1(){ | Process P2(){ | Process P3(){

While(true){ while(true){ while(true){

P(橘子精); P(糖); P(水);

取走橘子精;取走糖;取走水;

V(empty); V(empty); V(empty);

} } }

} } }

Coend

用信號量及其PV操作處理實際問題