IPC经典问题(哲学家)
程序员文章站
2022-07-04 22:12:35
...
哲学家就餐问题
5名哲学家坐成环,每个哲学家之间放一个筷子,当哲学家饥饿的时候会先后拿起两只筷子拼成一双筷子。与左右邻居是互斥访问。
方法一:容易死锁
chopstick[5]={1};
Pi(){
do{
P(chopstick[i]);
P(chopstick[(i+1)%5]);
eat;
V(chopstick[i]);
V(chopstick[(i+1)%5]);
think;
}while(1);
}
方法二:
mutex=1;
chopstick[5]={1};
Pi(){
do{
P(mutex);
P(chopstick[i]);
P(chopstick[(i+1)%5)];
V[mutex];
eat;
V(chopstick[(i+1)%5)];
V(chopstick[i]);
think;
}while(1);
}
上一篇: ElasticSearch分词器
下一篇: elasticsearch 分词器