一、5位哲学家就餐问题
semaphore fork[5];
for (int i=0;i<5;i++)
fork[i]=1;
cobegin
process philosopher_i( ) { //i= 0,1,2,3,4
while(true) {
think( );
P(fork[i]); //先取右手的叉子
P(fork[(i+1)%5]); //再取左手的叉子
eat( );
V(fork[i]);
V(fork[(i+1)%5]);
}
}
coend
semaphore fork[5];
for (int