You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

死锁场景判定:进程集中部分可执行其余因资源占用无法执行的情况是否属于死锁?

这种情况不算死锁哦

先给你掰扯清楚死锁的核心判定逻辑:死锁是指一组进程里的每个进程都在等待被该组内其他进程占有的资源,导致整个组里没有任何一个进程能继续推进的状态——说白了就是「互相卡脖子,谁都动不了」。

你描述的场景里,还有部分进程能正常执行,这压根不符合死锁的核心特征:

  • 那些能正常跑的进程,最终会完成任务并释放手里占着的资源;
  • 暂时等待的进程只是因资源被占用而阻塞,等前面的进程释放资源后,它们就能拿到资源继续执行。

举个接地气的例子:系统只有1台打印机,进程A先抢到打印机打印文件,进程B请求打印机被卡住。但A能顺利打印完,释放打印机后B就能接着用——这就是普通的资源等待,和死锁完全不沾边。

只有当出现这种情况才算死锁:进程A占着打印机等扫描仪,进程B占着扫描仪等打印机,俩进程都卡得死死的,谁都没法往前迈一步。

内容的提问来源于stack exchange,提问作者Markus

火山引擎 最新活动