2019哲学家用餐

sem bowl;
sem chopsticks[n];
for(int i=0;i<n;i++)
    chopsticks[i].value=1;
bowl.value=min(n-1,m)//bowl.value<=n-1,确保不死锁
while(True)
{
    p(bowl);
    p(chopsticks[i]);
    p(chopsticks[(i+1]MOD n);
    就餐;
    v(chopsticks[i]);
    v(chopsticks[(i+1]MOD n);
    v(bowl);
}

 

posted @ 2019-10-20 16:42  bestAndBest  阅读(180)  评论(0)    收藏  举报