死锁产生的原因及四个必要条件

转载 2011年07月29日 15:14:28

死锁产生的原因及四个必要条件


产生死锁的原因主要是:
(1) 因为系统资源不足。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则
就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。
产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之
一不满足,就不会发生死锁。
死锁的解除与预防:
理解了死锁的原因,尤其是产生死锁的四个必要条件,就可以最大可能地避免、预防和
解除死锁。所以,在系统设计、进程调度等方面注意如何不让这四个必要条件成立,如何确
定资源的合理分配算法,避免进程永久占据系统资源。此外,也要防止进程在处于等待状态
的情况下占用资源。因此,对资源的分配要给予合理的规划。

死锁的四个必要条件

死锁产生的四个必要条件 互斥条件:资源是独占的且排他使用,进程互斥使用资源,即任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被另一进程占有时,则申请者等待直到资源被占有者释放。 ...
  • jyy305
  • jyy305
  • 2017-04-11 19:54:03
  • 8661

什么是死锁,简述死锁发生的四个必要条件,如何避免与预防死锁

什么是死锁死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。例如,在某一个计算机系统中只有一台打印机和一台输入 设备,进程P1正占用输入设备,同时又提出使...
  • jhonz
  • jhonz
  • 2016-10-11 11:09:42
  • 12626

什么是死锁,简述死锁发生的四个必要条件,如何避免死锁,解除死锁

1.死锁:如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。2.产生死锁的原因:(1)竞争不可抢占性资源。(2)竞争可消耗资源。当系统中供多个进程共享的资...
  • yishouwangnian
  • yishouwangnian
  • 2016-09-30 09:05:15
  • 4509

死锁的4个必要条件和处理策略

1、死锁的例子:       资源A、B,进程C、D描述如下:   资源A和资源B,都是不可剥夺资源,   现在进程C已经申请了资源A,进程D也申请了资源B,   进程C接下来的操作需要用...
  • qq_27586341
  • qq_27586341
  • 2017-09-11 11:33:11
  • 244

死锁产生的原因及四个必要条件(2017腾讯实习生题目)

产生死锁的原因主要是: (1) 因为系统资源不足。 (2) 进程运行推进的顺序不合适。 (3) 资源分配不当等。 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则 就会因...
  • yangquanhui1991
  • yangquanhui1991
  • 2016-04-05 15:34:32
  • 862

死锁,死锁的四个必要条件以及处理策略

什么是死锁?如果一个进程集合里面的每个进程都在等待只能由这个集合中的其他一个进程(包括他自身)才能引发的事件,这种情况就是死锁。这个定义可能有点拗口,一个最简单的例子就是有资源A和资源B,都是不可剥夺...
  • wlq1983
  • wlq1983
  • 2008-10-06 14:56:00
  • 12556

什么是死锁?如何避免死锁?

所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。...
  • joejames
  • joejames
  • 2014-07-19 14:40:13
  • 46278

“死锁”四个必要条件的合理解释

发现到目前为止,所有的内容都可以在课本书籍、百度、论坛、博客上找到,似乎是教条的罗列。我们发现看过多次,但每每需要的时候(开发、笔试、面试)却总要回头再看~难以摆脱遗忘、记忆的循环~我觉得产生这种现象...
  • yunfenglw
  • yunfenglw
  • 2015-05-24 10:48:19
  • 2377

Android线程—死锁的四个产生必要条件

死锁:死锁是指两个或两个以上的进程进在执行过程中,由于资源竞争或由于相互通信而造成的一种阻塞式现象,如果没有外力影响。那么它们将永远的持续下去, 此事称系统产生死锁现象,这种永远互相在等待的进程成为死...
  • weixin_37730482
  • weixin_37730482
  • 2017-05-31 18:58:29
  • 837

多线程死锁的产生以及如何避免死锁

一、死锁的定义 多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进...
  • ls5718
  • ls5718
  • 2016-07-13 11:07:45
  • 35781
收藏助手
不良信息举报
您举报文章:死锁产生的原因及四个必要条件
举报原因:
原因补充:

(最多只允许输入30个字)