第七十三章:怎样处理死锁
TL;DR
- 系统可预防、避免、检测后恢复,或在可接受时忽略死锁。
正文
预防直接规定资源申请顺序;避免在每次分配前判断是否仍有安全完成序列;检测允许死锁发生后查找环;恢复则终止任务或抢回资源。方法越精细,管理成本和对应用的限制往往越大。
并发问题暂告一段落。即使进程互不抢数据,它们还需要相信自己拥有一片不会被别人踩到的内存。
思考题
为什么“统一申请顺序”属于预防而非检测?
小结
- 处理死锁是在限制、成本与可用性间取舍。
思考题答案(仅供参考)
它在等待环形成前就禁止可能造成环的请求方式。
协议
本文采用 CC BY-NC-SA 4.0 协议发布。