Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

第七十三章:怎样处理死锁

TL;DR

  • 系统可预防、避免、检测后恢复,或在可接受时忽略死锁。

正文

  预防直接规定资源申请顺序;避免在每次分配前判断是否仍有安全完成序列;检测允许死锁发生后查找环;恢复则终止任务或抢回资源。方法越精细,管理成本和对应用的限制往往越大。

  并发问题暂告一段落。即使进程互不抢数据,它们还需要相信自己拥有一片不会被别人踩到的内存。

思考题

为什么“统一申请顺序”属于预防而非检测?

小结

  • 处理死锁是在限制、成本与可用性间取舍。

思考题答案(仅供参考)

  它在等待环形成前就禁止可能造成环的请求方式。

协议

本文采用 CC BY-NC-SA 4.0 协议发布。