首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
什么是死锁?产生的条件是什么?
[问答题]
什么是死锁?产生的条件是什么?
添加笔记
求解答(0)
邀请回答
收藏(96)
分享
纠错
7个回答
添加回答
1
三七互娱员工_已认证
死锁:在两个或多个并发进程中,如果某个进程持有某种资源而又都等待别的进程释放他或者现在保持着的资源,在为改变这种状态前都不能向前推进,称这一组进程产生了死锁,通俗讲就是两个或者多个进程被无限阻塞相互等待的一种状态
产生死锁的条件:
1.互斥:一个资源每次只能被一个进程使用
2.不可抢占:进程已经获得资源,在未使用完之前,不能强行剥夺
3.占有并等待:一个进程因请求资源被阻塞时,对已获得的资源保存不释放
4.
环形等待:若干进程之间形成一种首尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁
发表于 2018-09-23 20:57:27
回复(0)
1
生命在于折腾wang
死锁:在两个或多个并发进程中,如果某个进程持有某种资源而又都等待别的进程释放他或者现在保持着的资源,在为改变这种状态前都不能向前推进,称这一组进程产生了死锁,通俗讲就是两个或者多个进程被无限阻塞相互等待的一种状态
产生死锁的条件:
1.互斥:一个资源每次只能被一个进程使用
2.不可抢占:进程已经获得资源,在未使用完之前,不能强行剥夺
3.占有并等待:一个进程因请求资源被阻塞时,对已获得的资源保存不释放
4.
环形等待:若干进程之间形成一种首尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。
发表于 2018-08-15 16:26:43
回复(0)
2
起个啥名好呢呢呢
一. 什么是死锁?
如果一个进程集合里面的每个进程都在等待这个集合中的其他一个进程(包括自身)才能继续往下执行,若无外力他们将无法推进,这种情况就是死锁,处于死锁状态的进程称为死锁进程
三. 产生死锁的四个必要条件?
(1)互斥条件:进程对所分配到的资源不允许其他进程进行访问,若其他进程访问该资源,只能等待,直至占有该资源的进程使用完成后释放该资源
(2)请求和保持条件:进程获得一定的资源之后,又对其他资源发出请求,但是该资源可能被其他进程占有,此事请求阻塞,但又对自己获得的资源保持不放
(3)不可剥夺条件:是指进程已获得的资源,在未完成使用之前,不可被剥夺,只能在使用完后自己释放
(4)环路等待条件:是指进程发生死锁后,必然存在一个进程--资源之间的环形链
发表于 2018-09-25 11:15:35
回复(0)
0
Rorchachl
线程满足条件 正常执行 唤醒其他等待线程 不满足条件则等待 释放锁 但有些时候 所有线程都不满足条件 这种情况难道不也是死锁吗?
发表于 2020-01-03 23:36:21
回复(0)
0
嗷嗷嗷qwe
发表于 2019-02-15 15:11:39
回复(0)
0
坏坏62
死锁:
如果一个进程集合里面的每个进程都在等待这个集合中的其他一个进程(包括自身)才能继续往下执行,若无外力他们将无法推进,这种情况就是死锁,处于死锁状态的进程称为死锁进程
产生的条件:
1、互斥条件:资源是独占的且排他使用,进程互斥的使用资源。即任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被其他进程占用时。则申请者等待直到资源被占有者释放;
2、不可剥夺条件:进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自行释放;
3、请求和保持条件:进程每次申请他所需要的一部分资源,在申请新的资源的同时,继续占用已分配的资源;
4、循环等待条件:在发生死锁时必然存在一个进程等待队列,且形成一个进程等待环路,环路中每一个进程所占用的资源同时也是另一个进程所要申请,也就是前一个占有后一个进程所要申请的资源。
发表于 2018-09-17 21:11:07
回复(0)
0
lilinl
死锁:两个或者多个进程在执行过程中,由于争抢资源而造成的互相等待的现象;若无外力作用,他们将无法推进下去;
死锁发生的四个条件:
互斥条件:一个资源只能被一个进程使用;
请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放;
不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺
循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系
发表于 2018-08-29 21:32:46
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
2018
PHP工程师
招商银行信用卡中心
Java工程师
上传者:
小小
难度:
7条回答
96收藏
1379浏览
热门推荐
相关试题
若用冒泡排序对关键字序列{10,8...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
安全工程师
2018
奇安信
评论
(1)
通过构建有序序列,对于未排序数据,...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
安全工程师
2018
奇安信
评论
(0)
下面描述中,符合结构化程序设计风格...
搜狐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
分页系统的逻辑地址结构是一维的,分...
操作系统
评论
(1)
关于分段系统与分页系统的区别,描述...
操作系统
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题