死锁

✍ dations ◷ 2025-12-06 10:27:36 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 中华民国环保署坐标:25°02′19″N 121°30′28″E / 25.03861°N 121.50778°E / 25.03861; 121.50778行政院环境保护署(简称环保署)是中华民国环境保护事务的最高主管机关,前身为1971年3月成
  • 海沟列表以下是地球上海沟的列表:
  • 莫尔多瓦共和国莫尔多瓦共和国(俄语:Респу́блика Мордо́вия,罗马化:Respublika Mordoviya;莫克沙语:Мордовскяй Республикась;厄尔兹亚语:Мордов
  • 桑林桑林镇,是中华人民共和国辽宁省鞍山市台安县下辖的一个乡镇级行政单位。桑林镇下辖以下地区:桑林村、魏家村、大汪村、蒋坨村、茨榆坨村、柴家村、双台子村、大友村、艾岗子村
  • 泽口千惠泽口千惠(1975年5月21日-)是日本的女性声优,隶属于Across Entertainment事务所,日本东京都出身。丈夫是同为声优的野岛健儿,两人间有两个小孩(头胎:女儿;第二胎:男儿)。
  • 亚拉巴马伪龟亚拉巴马伪龟(学名:)是伪龟属()下的一个物种。原产于美国亚拉巴马州。本种为大型植食性淡水龟,分布于美国南部的阿拉巴马州与密西西比州。种小名源自于其模式产地阿拉巴马州(莫比尔
  • .bn.bn为文莱国家及地区顶级域(ccTLD)的域名。A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az  B .ba .bb .bd .be .bf .bg .bh .bi .bj .bm .bn .
  • 川嶋纪子川嶋纪子(1907年(明治四十年) - 2002年(平成十四年)12月10日),是日本皇室秋篠宫妃纪子的祖母,悠仁亲王的曾祖母。画家。纪子是池上四郎妻子浜的六女,于大阪市出生。纪子父亲是大阪市
  • 杨培东杨培东(1971年8月-),江苏苏州人。美籍华裔化学家、材料科学家。现为加州大学伯克利分校化学和材料科学双聘教授。美国文理科学院院士、美国国家科学院院士。1971年出生在苏州相
  • 赵汉赵汉,字鸿逵,浙江承宣布政使司嘉兴府平湖县(今浙江省平湖县)人,明朝政治人物。浙江乡试第四十八名,正德六年(1511年)辛未科进士。授建昌府推官。擢南京户科给事中,改兵科给事中。嘉靖