2.4.1 死锁的概念
目录
- 思维导图
- 什么是死锁
- 死锁 饥饿 死循环的区别
- 死锁产生的必要条件
- 什么时候会产生死锁
- 死锁的处理策略
思维导图
什么是死锁
死锁的概念:
在并发环境中,各进程因竞争资源而造成的一种 互相等待对方手里的资源,导致各进程
都阻塞,都无法向前推进的现象,就是死锁。
发生死锁后若无外力干涉这些进程都无法向前推进。
死锁 饥饿 死循环的区别
产生死锁最少要两个进程,产生饥饿最少是一个进程。
死锁产生的必要条件
互斥条件: 一个资源只能被一个进程占用
不可剥夺条件: 某个进程占用了资源,就只能他自己去释放。
请求和保持条件:某个进程之前申请了资源,我还想再申请资源,之前的资源还是我占用着,别人别想动。除非我自己不想用了,释放掉。
循环等待条件: 一定会有一个环互相等待。注意: 只有四个条件同时成立才会发生死锁。巧妙记忆死锁的四个必要条件:
以哲学家进餐问题为例,我占着筷子,你们不能抢我的,我还想要另一只筷子,形成一个圈。(互斥) (不可剥夺) (请求和保持) (循环等待)
什么时候会产生死锁
死锁的处理策略
2.4.1 死锁的概念相关推荐
- 操作系统(二十八)死锁的概念
2.4.1 死锁的概念 在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是"死锁".通俗一点就是我有一个资源你也有一个资 ...
- java中关于死锁的概念和实例操作
关于synchronize死锁的例子和避免死锁的例子 产生死锁的原因主要是: (1) 因为系统资源不足. (2) 进程运行推进的顺序不合适. (3) 资源分配不当等. 产生死锁的四个必要条件: (1) ...
- linux中死锁的概念,【Linux】死锁概念总结
什么是死锁 如果一组进程(或者线程)中的所有进程(或者线程)都在等待该组中其他进程(或者线程)才能引发的事件,那么这组进程(或者线程)就是死锁的 死锁出现的情况举例 (1)线程自锁,自己将自己锁住 当 ...
- 操作系统中死锁的概念
产生死锁的原因主要是: (1) 因为系统资源不足. (2) 进程运行推进的顺序不合适. (3) 资源分配不当等. 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则 就会因争 ...
- 死锁的概念以及发生死锁的缘由
死锁的界说 在多道程序零碎中,因为多个过程的并发履行,改良了零碎资本的应用率并进步了零碎 的处置才能.但是,多个过程的并发履行也带来了新的成绩--死锁.所谓死锁是指多个进 程因竞争资本而形成的一种僵局 ...
- 2.4 1死锁的概念(1)
- 操作系统—死锁的概念
建议将思维导图保存下来观看,或点击这里在线观看
- python银行家算法_Linux 死锁概念与银行家算法python 实现
一 . 死锁的概念 接上篇 http://shaobaobaoer.cn/archives/680/linux-process-manager-note 在之前的哲学家吃饭的问题中,当每个哲学家都想进 ...
- DllMain中不当操作导致死锁问题的分析--死锁介绍
最近在网上看到一些关于在DllMain中不当操作导致死锁的问题,也没找到比较确切的解答,这极大吸引了我研究这个问题的兴趣.我花了一点时间研究了下,正好也趁机研究了下进程对DllMain的调用规律.因为 ...
最新文章
- python爬虫实战(一)~爬取百度百科人物的文本+图片信息+Restful api接口
- php怎么新建页面,whmcs创建自定义页面,创建PHP访问页面方法
- 三点弯曲弹性模量怎么计算公式_?怎么计算弯管的尺寸和弯管的张力
- 微服务怎么部署到服务器的_浅谈微服务部署方案
- 产生线程安全的原因(1)(操作系统)
- iOS开发如何实现消息推送机制
- Spring Cloud实战小贴士:Zuul统一异常处理(一)
- python读取csv最后一行_python – 尝试使用seek()获取csv文件的最后一行时的AttributeError...
- 第三章 深入分析Java Web中的中文编码问题
- 目标检测——FCOS的学习笔记
- java 使用 com.thoughtworks.xstream.XStream 将map转为xml
- vue.js三种安装方式
- Opencv step by step - 图像变换
- 14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制:
- webstorm使用指南
- 项目管理课程体系——世纪德本PMCD品牌课程
- 数控计算机辅助编程软件,Cimatron数控编程软件
- Chrome 浏览器小恐龙游戏变身超级马利奥
- 微信支付二维码生成工具类
- 搭建室内四轴无人机(一)
热门文章
- try-catch-finally 与返回值的修改
- 树莓派debian配置lamp[解决Apache不显示php网页]
- linux系统vsftpd登陆慢卡怎么办
- C#常用类库(100多个)
- 全面解析Java的垃圾回收机制
- 句法分析:依存分析(Dependency Parsing)
- 特征工程(2):特征构建
- C++ Primer 5th笔记(6)chapter6 函数:函数指针
- django_rest_framework之GenericAPIView(一)源码讲解
- [mmu/cache]-Cache Type Register(CTR)寄存器介绍-InProgress