黑马程序员技术交流社区
标题:
死锁问题
[打印本页]
作者:
lily
时间:
2011-9-10 14:00
标题:
死锁问题
在多线程同步的过程中,有一个死锁问题。即监视器都处于运行状态,且都在等待其他未释放的监视器,造成死锁。
比如:A,B两个监视器,如果A,B都在运行状态,且A中需要获得监视器B,B中也需要获得监视器A,由于两个同步代码块都需要等待对方而无法释放监视器,造成死锁。遇到这种清况,是否可以检测正在等待的监视器状态,若长时间得不到等待的监视器,就释放当前监视器来解决死锁问题?
比如:A在等待B监视器的过程中,长时间得不到B监视器,就放弃A监视器进入睡眠状态呢?
作者:
匿名
时间:
2011-9-10 20:02
可以吧,怎么实现我也不清楚。
作者:
匿名
时间:
2011-9-10 20:17
其实你不用自己创出一个解决死锁的办法
参考大学教材《操作系统》一书中的PV操作,引进信号量的机制就可以在理论上避免死锁
这个是 链接【[url]http://baike.baidu.com/view/703687.htm[/url]】
作者:
匿名
时间:
2011-9-11 02:29
深奥!!没写过这样的死锁代码
作者:
匿名
时间:
2011-9-11 13:48
这样又引入新的问题,可出现,当两个线程都得不到监视器,同时都放弃了监视器,转入睡眠不是又死锁了.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2