进程并发和死锁

*)进程并发的经典案例,以及产生死锁的情况:

**)生产者消费者

 临界区池子同时只能有一个操作,互斥使用。当一个使用时,另一个需等待。

生产者能操作的条件:池子只要不满就能生产。消费者能操作的条件:池子只要不空就能消费。

所以,设置①互斥信号变量mutex,wait(mutex);设置②池子数量变量m,判断是=n还是=0。

生产者操作时判断:if(m<n),wait(mutex),满足时即可操作;消费者操作时判断:if(m>0),wait(mutex),满足时即可操作;

死锁情况:上面的2个条件判断,当把mutex判断放到前面时,会造成死锁。

**)哲学家进餐

**)读者和写者

*)什么是死锁

猜你喜欢

转载自www.cnblogs.com/mySummer/p/10640358.html