进程同步与互斥的区别 及 死锁产生的原因

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_37189082/article/details/100565285

1.进程同步与互斥的区别?

互斥:某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。互斥无法限制访问者对资源的访问顺序即访问时无序的。如:接学家就餐问题,每个人手中只有一个筷子。

同步基于互斥,经其他机制实现访问者对资源的有序访问。大多数情况下,同步已经实现了互斥,例如:写入资源是互斥的,A写东西时候是不允许B同时写入;少数情况下,可以允许多个访问者同时访问资源。

2.死锁产生的原因?

① 资源竞争 ② 进程推进顺序不当

必要条件:互斥,不剥夺,请求与保持,环路等待

预防死锁:破坏四个必要条件之一

猜你喜欢

转载自blog.csdn.net/qq_37189082/article/details/100565285