死锁

转载 2013年12月04日 12:49:36

       所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象:死锁。”

产生死锁的原因主要是:
(1) 因为系统资源不足。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则
就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。
产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之
一不满足,就不会发生死锁。

死锁的定义

  • 2017年11月07日 18:59
  • 879KB
  • 下载

sql表死锁解决办法

  • 2017年07月26日 11:46
  • 13KB
  • 下载

线程的相关知识、JAVA实现死锁、生产者消费者问题

线程有五种状态:创建、就绪、运行、阻塞、结束 isAlive:判断线程是否活着。就绪、运行、阻塞是活着,创建、结束是死了 getPriority、setPriority:设置优先级,明显的是,优先级高...

处理机调度与死锁

  • 2014年03月13日 15:15
  • 1.61MB
  • 下载

不死锁的哲学家问题实现 java

  • 2014年01月21日 15:13
  • 1.83MB
  • 下载

【操作系统】银行家算法避免死锁

系统安全状态的定义  1.安全状态   在避免死锁的方法中,允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否...

oracle死锁及连接数监测

  • 2013年08月15日 13:24
  • 166KB
  • 下载

死锁的检测与分析设计

  • 2012年11月25日 14:52
  • 128KB
  • 下载

mysql三例死锁场景分析

一、商户批量代发业务 1.表结构(简化): CREATE TABLE `batch` (  `batch_id` varchar(32) NOT NULL COMMENT '批次号',  `c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:死锁
举报原因:
原因补充:

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