解决死锁的4种基本方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解决死锁的4种基本方法
1、预防死锁:通过审慎的资源分配来避免发生死锁,比如,准备一个资源分配算法,在当前的可分配资源范围内,根据一定的规则——比如比较进程运行时间、锁等待时间以及优先级等,合理地分配资源,将可能发生死锁的场景排除在外。
2、避免死锁:在资源分配时,允许部分回收和重新分配,以避免发生死锁,比如,可以指定资源分配算法中,定量来回收资源,以确保充分利用资源,同时也避免死锁问题。
3、解除死锁:当死锁发生时,就需要手动进行解除,比如忽略某些进程的要求,或强行回收其已经获得的资源,以便解除死锁,其技术较为复杂。
4、检测死锁:检测进程是否发生了死锁,如果发生,就需要采取措施来解决,比如,可以使用“图方法”,根据存储器使用情况,示意存储器分配情况,检测是否存在循环等待,以此来检测发生死锁的情况,进而采取措施解决。