首页 > 编程知识 正文

关于死锁的问题,死锁的原因及解决方法

时间:2023-05-03 16:35:48 阅读:177806 作者:3158

目录

写在前面

什么是死锁

解决方案1通过判断上锁顺序来避免死锁

解决方案2使用可轮训锁避免死锁

解决方案使用3小时有限锁

我想大家都知道之前写了死锁,死锁的发生通常伴随着系统的重新启动。 这让我非常头疼。 请参阅。

我相信通过阅读本文,我会对死锁有更深的理解,有更好的应对方法。

死锁是指每个人都有别人需要的资源,同时等待着别人已经有的资源。 而且,在每个人得到所有需要的资源之前,不会放弃已经有的资源。 线程a持有锁l,在试图获得锁m的同时,线程b持有锁m,试图获得锁l,这两个线程将永远等待。 这是最简单的死锁形式。

解决方案1通过判断上锁顺序来避免死锁

解决方案2使用可以回合训练的上锁避免死锁,通过经常在while周期中判断有无上锁可以避免死锁

解决方案使用3小时有限锁

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。