目录
写在前面
死锁相信大家都不陌生,死锁发生通常要伴随着系统的重启,这非常头疼。。
相信看完这一篇文章,你会对死锁更加深入的了解,并且有着更好的处理办法。
什么是死锁
每个人都拥有其他人需要的资源,同时又等待其他人已经拥有的资源,并且每个人在获得所有需要的资源之前都不会放弃已经拥有的资源。线程A持有锁L并想获得锁M的同时,线程B持有锁M并尝试获得锁L,那么这两个线程将永远等待下去。这种情况就是最简单的死锁形式。
解决方案1通过判断锁顺序来避免死锁
解决方案2使用可轮训的锁来避免死锁
一直while循环判断是否上锁,这样可以避免死锁