浅析死锁

什么是死锁?

  死锁就是两个或多个进程在执行的过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象,当进程处于这种状态时,如果没有外力的作用,这些进程都无法继续向前进行。这是操作系统层面的一个错误,是进程死锁的简称。

产生死锁的原因:

资源竞争

  系统中额资源分为可剥夺资源和不可剥夺资源。可剥夺资源指的是某进程在获得这类资源后,这份资源还可以继续被其他进程或者系统所获得,CPU和主存均属于可剥夺资源,比如说可以把一个进程从一个存储区移到另一个存储区。不可剥夺资源指的是系统把资源分配给某个进程后,就不能强行把这份资源收回,只能在该进程结束后自行释放,比如说一个进程正在使用打印机打印一份文件,这时如果要给这个打印机重新分配一个进程,那么打印出来的文件一定会受损,所以只能等这个进程结束了,自己释放这个打印机。
   通俗说:可剥夺资源就是你正在吃的馒头,当你刚拿起馒头时,一个比你彪悍的人和你要这个馒头,你就得给他。不可剥夺资源就是你已经吃进肚子里的馒头,这个彪悍的人想和你要这个已经吃了的馒头也要不到。
  产生死锁中有关资源竞争的其中一个就是竞争不可剥夺资源,就按上面的例子,当P1正在使用A打印机的时候,如果P2也要使用打印机A,那么打印机A就会阻塞
产生死锁中有关资源竞争的另一个就是竞争临时资源,这些临时资源一般有中断、信号、消息等,通常消息通信顺序进行不当时,就会产生死锁。

产生死锁的4个必要条件

1、互斥条件
2、请求与保持条件
3、不可剥夺条件
4、环路等待条件
互斥条件:在同一时刻只有一个线程可以操作
请求与保持条件:嘴里吃着馒头,还想要隔壁桌上的馒头,隔壁桌子上的馒头吃不着,自己的也不放
不可剥夺条件上面已经给出
环路等待条件:A拿着A的馒头去请求B的馒头,同时B又拿着B的馒头去请求A的馒头,这样就造成了一个环路

在这里插入图片描述

预防死锁:

  破坏四个必要条件中的一个或几个条件,易于实现,但会导致资源利用率和系统吞吐量降低,有效预防死锁的三个方案:
  a.舍弃“请求和保持”条件:要求所有的进程一次性申请完所需的全部资源,不出现资源等待
  b.舍弃“不剥夺”条件:如果进程已经保持了资源,如果他在提出新的资源要求并且不能立刻满足,这个进程就必须释放自己已经保持的所有资源,以后需要重新申请。
  c.舍弃“环路等待”条件:将资源进行分类并按顺序排列,所有进程请求资源时必须严格按照排列好的递增次序来进行,不出现环路情况。

避免死锁:

  可以采用银行家算法和死锁检测算法来避免产生死锁

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018年全球AI突破性技术TOP10

来源:艾瑞网摘要:聪明的科技公司都不再单一的专注于自己的传统业务,而是着眼于未来,不断创新技术,跨界融合打造一个整合的生态系统。人工智能是个高科技、宽领域、多维度、跨学科的集大成者,从立足大数据、…

全球11个行业、71家知名企业的创新Lab与布局

来源:CBInsights新技术的革新引发了商业世界重构的浪潮,在这一波由人工智能引领的创新潮流里唯有拥抱变化才能不为时代淘汰,顺应趋势取得更大的发展。新技术的革新引发了商业世界重构的浪潮,在这一波由人工智能引领的创新潮流里唯…

组队竞赛

题目解析: 队伍的水平值等于该队伍队员中第二高水平值,为了所有队伍的水平值总和最大的解法,也就是说每个队伍的第二个值是尽可能大的值。所以实际值把最大值放到最右边,最小是放到最左边。 解题思路: 本题的主要思路是…

【SD】差异值 生成 同一人物 制作 表情包 【1】

说明:只对AI生成的人物,效果稳定。 Reference差异值 生成表情 首先生成一张图片。 测试命令:1 man,chibi,full body, 模型:envyclarityxl02_v10.safetensors [f6c13197db] 种子:2704867166 》》测试命令&#xff1a…

MySQL索引原理、失效情况

声明:本文是小编在学习过程中,东拼西凑整理,如有雷同,纯属借鉴。 Mysql5.7的版本, InnoDB引擎 目录 1 mysql索引知识 1.1 BTree索引 1.2 主键索引和普通索引的区别 1.3 唯一索引vs普通索引 2 mysql索引优化 2.1 查看索引使…

2018年人工智能全景图与发展趋势分析

来源:专知摘要:风险资本家马特图尔克(Matt Turck)最近发布文章,能力越大,责任越大,介绍了大数据与人工智能在2018年发展的趋势,并发布了全景图,涵盖基础架构、开源框架、…

李晨 | 无人机市场浅析

来源:无人机作者简介:西北工业大学民用无人机研发中心副主任无人机市场浅析无人机市场分类过去无人机一直是军用为主,不论是伊拉克战争还是好莱坞大片,无人机在执行军事任务方面起到了不可替代的作用。在2010年以前,军…

linux 监控网络IO、磁盘、CPU、内存

linux 监控网络IO、磁盘、CPU、内存 CPU:vmstat ,sar –u,top磁盘IO:iostat –xd,sar –d,top网络IO:iftop -n,ifstat,dstat –nt,sar -n DEV 2 3磁盘容量&a…

不要二

题目解析: 本题的重点是要读懂题意,并且需要多读两遍,才能读懂,本题本质就是在二维数组中每个坐标去放蛋糕, 一个坐标位置放了蛋糕,跟他欧几里得距离为2的位置不能放蛋糕,这个就是关键点。对于两…

干货|100张PPT讲透工业机器人的机械结构

来源:机电微学堂未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网&…

基础理论研究是人工智能持续发展的保证

来源:图灵人工智能摘要: 人工智能的主流技术的发展大致经历了三个重要的历程。人工智能的主流技术的发展大致经历了三个重要的历程。1956-1965年,人工智能的形成期,强调推理的作用。一般认为只要机器被赋予逻辑推理能力就可以实现…

代换链表入口节点

题目: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,…

新AI技术破解“人脑密码”的艰辛历程

来源:人工智能大健康摘要: 就智能感知而言,如何获取人类脑部思维同样是业内长期探索的问题。就智能感知而言,如何获取人类脑部思维同样是业内长期探索的问题。可以预见的是,单纯通过思维指令来控制人工智能的行为&…

JavaScript事件捕获与事件冒泡原理 IE和DOM之间存在哪些主要差别

事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。 (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。 IE 5.5: div -> body -> document IE 6.0: div -> body -> html -&…

复制带随机节点的链表

题目: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的深拷贝。 解题思路: 这道题的一个难点就是链表中的随机指针,我能想到的就是在这个链表的每个节…

北斗三号系统第九、十颗组网卫星三大看点

来源:新华网29日,北斗三号第九颗、第十颗卫星在西昌卫星发射中心腾空而起,此次发射的两颗卫星是北斗导航全球组网从最简系统迈向基本系统的首组卫星。北斗的建设,像一场马拉松比赛,既考验耐力又比拼速度。作为“北斗大…

写代码这条路,能走多远?

职场危机感似乎是每个人在职业生涯都会遇到的话题,我对这种危机处境和自己曾遇到的问题进行了一番思考, 参考了其他人的一些结论并结合自身的经历,设计了应对的初步方案。 通过这篇文章,希望能给大家一些启发,也欢迎大…

AMD VS 英特尔:芯片制造实力似乎正在发生逆转!

来源:网易智能参与: 天门山据国外媒体MarketWatch报道,芯片制造业似乎正在发生重大变化,AMD好像成为和对手英特尔竞争的赢家。在这两家芯片制造商本周公布季度财报之后,分析师表示,英特尔陷入产品延迟和管理上的不确定…

把数组排列成最小的数(详解)

题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 题目解析: 看到…

人工智能预测AI系统的“心灵”与“行为”

来源:中国科学网任何同Siri或Alexa有过令人沮丧的互动体验的人都知道,数字助理无法同人类媲美。而它们需要的是被心理学家称为“心智理论”的东西—— 一种意识到其他人的信念和欲望的能力。如今,计算机科学家创建了能窥探其他计算机“心灵”…