死锁

✍ dations ◷ 2025-12-02 09:58:24 #操作系统技术,协同控制,程式错误

死锁(英语:Deadlock),又译为死结,计算机科学名词。当两个以上的运算单元,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁。在多任务操作系统中,操作系统为了协调不同行程,能否获取系统资源时,为了让系统运作,必须要解决这个问题。

这里指的是进程死锁,是个计算机技术名词。它是操作系统或软件运行的一种状态:在多任务系统下,当一个或多个进程等待系统资源,而资源又被进程本身或其他进程占用时,就形成了死锁。有个变种叫活锁。

例如,一个进程 p1占用了显示器,同时又必须使用打印机,而打印机被进程p2占用,p2又必须使用显示器,这样就形成了死锁。因为p1必须等待p2发布打印机才能够完成工作并发布屏幕,同时p2也必须等待p1发布显示器才能完成工作并发布打印机,形成循环等待的死锁。

如果系统中只有一个进程,当然不会产生死锁。如果每个进程仅需求一种系统资源,也不会产生死锁。不过这只是理想状态,在现实中是可遇不可求的。

死锁的四个条件是:

死锁只有在四个条件同时满足时发生,预防死锁必须至少破坏其中一项。

我们也可以尝试回避死锁。因为在理论上,死锁总是可能产生的,所以操作系统尝试监视所有进程,使其没有死锁。

最简单的消除死锁的办法是重启系统。更好的办法是终止一个进程的运行。

同样也可以把一个或多个进程回滚到先前的某个状态。如果一个进程被多次回滚,迟迟不能占用必需的系统资源,可能会导致资源匮乏(英语:Starvation (computer science))。

活锁(Livelock),与死锁相似,死锁是行程都在等待对方先释放资源;活锁则是行程彼此释放资源又同时占用对方释放的资源,当此情况持续发生时,尽管资源的状态不断改变,但每个行程都无法获取所需资源,使得事情没有任何进展。

假设两人正好面对面碰上对方:

相关

  • 间谍情报间谍卫星又叫军用侦察卫星,其主要用于对使用国家有兴趣的其他国家或是地区进行情报搜集,搜集的情报种类可以包凡军事与非军事的设施与活动,自然资源分布、运输与使用,或者是气象
  • 最深地理之最列表纪录了世界在地理方面可创下世界纪录的事物,这里列举了一些地理之最。但巴西高原也可当做世界最高的高原,南极高原仍处于争议中。
  • 属地主义属地主义(拉丁语:Jus soli,即土地衍生的权利),又称出生地主义,即无论父母是哪国人,只要出生在该国的领土内,即自动获得该国国籍。亚欧非及大洋洲的绝大多数国家对出生人口都奉以基于
  • 波内赫面积以下资讯是以2015年估计家用电源国家领袖立国历史博奈尔(荷兰语:Bonaire)是加勒比海中一岛屿,现为荷兰的公共实体(英语:Public body (Netherlands)),与附近的荷兰王国构成国阿鲁
  • 毛虾毛虾属(Acetes)是十足目樱虾科的一个属,是东南亚的重要经济作物,主要用于生产虾酱或干晒成为虾皮。当中以日本毛虾及中国毛虾为当中最大宗。毛虾属的体型只有1-4 cm 长,身体透明
  • 蜥结龙属蜥结龙属(属名:,意为“蜥蜴的甲盾”)又名楯甲龙、蜥肋螈,是结节龙科恐龙的一属,生存于早白垩纪的北美洲。目前已有一个已命名种,爱氏蜥结龙(),但可能有其他种存在。就生理结构上而言,蜥
  • 杰西卡·兰格杰西卡·菲利斯·兰格(英语:Jessica Phyllis Lange,1949年4月20日-)是一位美国女演员,出生在明尼苏达州,曾经以电影《窈窕淑男》与《芳心的放纵》分别获得1982与1994年的奥斯卡最佳
  • 熊梓淇熊梓淇(1992年6月6日-),艺名Dylan, 中国大陆男艺人,粉丝名为“小浣熊”。出生于辽宁省铁岭市,毕业于上海音乐学院音乐剧系。自3岁开始学习音乐,并学习了钢琴、小提琴等乐器,擅长多项
  • 约瑟夫·黑尔梅斯伯格约瑟夫·黑尔梅斯伯格(Joseph Hellmesberger,1855年4月9日-1907年4月26日),奥地利小提琴家、作曲家。其父为小提琴家和乐团指挥。黑尔梅斯伯格年少时从父学小提琴;1875年成为父亲
  • A Very Gaga Holiday《》是美国女歌手Lady Gaga的一张迷你唱片,用以宣传ABC的特别节目《》。专辑于2011年11月22日正式在iTunes上线。