死锁

✍ dations ◷ 2025-12-05 07:19:38 #操作系统技术,协同控制,程式错误

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

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

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

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

死锁的四个条件是:

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

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

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

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

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

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

相关

  • 解离性失忆症分离性遗忘症或游离性遗忘症(英语:Dissociative amnesia),又称为心因性失忆症(英语:Psychogenic amnesia),是一种心理疾病。患者会遗忘个人记忆中的重要资料,通常不是由生理因素(如脑
  • 松科(学名:Pinaceae)是松柏纲松柏目的一科,通称松、松树,尽管在汉语,其中不少种类称作“杉”,一般特点乃叶的形状像针,防止水分大量被蒸发。而在一些气候较不炎热,约北纬40多度至60度
  • 海地共和国银行海地共和国银行(法语:Banque de la République d'Haïti BRH)是海地的中央银行。该行积极推行金融融合政策,是金融联盟的成员机构。2013年,银行颁布了《玛雅宣言承诺书》以推进
  • 2019冠状病毒病巴西疫情2月2月3月3月4月4月过去15日过去15日 2019冠状病毒病巴西疫情介绍2019冠状病毒病疫情于巴西发生之情况。2月25日,据巴西《圣保罗州报》报道,巴西圣保罗市当天发现了首例新冠病
  • 肖开提·伊斯梅洛维奇·萨利霍夫肖开提·伊斯梅洛维奇·萨利霍夫(俄语:Шавкат Исмаилович Салихов,1944年12月12日-),乌兹别克斯坦化学家。其主要从事生物有机化学研究,是乌兹别克斯坦生物
  • 白花丹属白花丹属(学名:)是蓝雪科(也叫白花丹科)下的一个属,旧称蓝雪属,属下约有17种,为多年生草本或亚灌木植物,有时上部蔓生。
  • 万花锦绣《万花锦绣》(英语:),又译复活节游行、花开蝶满枝,是1948年歌舞片,由查尔斯·华特斯执导,舞王佛雷·亚斯坦和茱蒂·嘉兰演出,艾文·伯林担任电影音乐作曲。电影创出许多经典名曲,诸如
  • 向井慧向井慧(日语:向井 慧/むかい さとし  ,1985年12月16日-)是日本一名搞笑艺人,隶属于吉本创新事务所(日语:よしもとクリエイティブ・エージェンシー)。他是漫才组合Panther(日语:パンサ
  • 裘家奎裘家奎,1898年出生,中国化学家,中国分析化学的先驱。字星聚,浙江慈溪县(宁波)人。1921年,毕业于东吴大学化学系,获理学学士学位。1932年,毕业于美国普林斯顿大学,获得哲学博士学位。回
  • 服务水平管理服务水平管理(Service-Level-Management)是《信息技术基础架构库》中的一个分支,用来定义、监管和优化信息技术服务。其主要目的是与商业预期同步来长久地提高信息技术服务水平