黑马程序员技术交流社区

标题: 死锁 [打印本页]

作者: 阿毛逗你玩    时间: 2014-12-29 13:57
标题: 死锁
关于死锁的理解?
作者: qiezhiyi    时间: 2015-1-4 09:25
死锁含义:指多个进程竞争资源而形成的一种僵局,若无外力的作用,这些进程将无法再向前推进
作者: qiezhiyi    时间: 2015-1-4 09:38
所以死锁,是指多个进程循环等待它放占有的资源而无限的僵持下去的局面。在计算机系统中,设计软件、硬件资源都可以发生死锁。
死锁产生的必要条件:在计算机系统中同时具备以下四个必要条件时,系统就会发生死锁。
(1)互斥条件。即某个资源一段时间内只能由一个进程占有,不能同时被两个或者两个以上的进程占有。
(2)不可强占条件。进程所获得的资源在未使用完毕前,资源申请者不能强行的从资源占有者手中夺取资源,而只能由该资源的占有者进程自行释放。
(3)占有且申请条件。进程至少已经占有一个资源,但又恩情新的资源;由于该资源已经被另外进程占有,此时该进程阻塞;但是它在等待新资源之时,仍继续占用已占有的资源。
(4)循环条件等待。存在一个进程等待序列{P1,P2,P3,'''Pn},其中P1等待P2所占用的某一资源,P2等待P3所占用的某一资源,而Pn等待P1所占用的某一资源。形成一个进程循环等待环。
注:以上条件必须同时满足才能够发生死锁。某一条件不满足,则不会发生死锁现象。
作者: jant60    时间: 2015-1-10 13:02
就是两个线程在抢锁,有一个线程抢到锁了,他就睡了,结果导致所有线程醒不过来,这就是死了呗




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