两进程各要两把互斥锁:P1 先占 R1 再要 R2,P2 先占 R2 再要 R1。四条必要条件同时成立才可能死锁,不是必然死锁。拆掉任一条,死锁不能成立(等待环仍可能短暂出现,但会被打破)。银行家算法属于避免,不是预防。
互斥 · 策略
占有并等待 · 运行时
不可抢占 · 策略
循环等待 · 运行时
图例:互斥、不可抢占是策略性条件(系统是否允许共享/抢占,可预先点亮)。占有并等待、循环等待是运行时条件,只按当前占有边/请求边点亮。
READY
两进程各要两把互斥锁:P1 先占 R1 再要 R2,P2 先占 R2 再要 R1。四条必要条件同时成立才可能死锁,不是必然死锁。拆掉任一条,死锁不能成立(等待环仍可能短暂出现,但会被打破)。银行家算法属于避免,不是预防。
图例:互斥、不可抢占是策略性条件(系统是否允许共享/抢占,可预先点亮)。占有并等待、循环等待是运行时条件,只按当前占有边/请求边点亮。