黑马程序员技术交流社区

标题: 为何会发生死锁 [打印本页]

作者: beckhamgun    时间: 2016-7-10 08:33
标题: 为何会发生死锁
如题 一般死锁都是人为的么?
作者: 孟小垚    时间: 2016-7-10 09:33
我感觉是的
作者: ImKing    时间: 2016-7-10 09:51
本帖最后由 ImKing 于 2016-7-10 09:53 编辑

(1)资源有限,,,
四个必要条件:
(2)互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持【不放】。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,【不能】强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的【循环】等待资源关系。
(5)死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
(6)通过分析,我认为一般不是人为造成的

作者: robintian    时间: 2016-7-10 16:11
其实死锁就是一个争夺资源的问题,如果有两个线程A和B,A掌握了B的锁,B掌握了A的锁,相当于A控制了B的同时B也控制了A,这样就有可能A把B锁死的同时B也锁死了A




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2