线程死锁

多个线程各自占有一定的资源(拿到了对象锁),但又需要其他线程拥有的资源,互相等待对方释放资源,导致停止执行的情况。同时拥有两个以上的锁,就可能有死锁的问题。

产生死锁的四个必要条件:

1、互斥条件:一个资源每次只能被一个进程使用

2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

3、不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。

4、循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

避免死锁的方法:

形成死锁有四个必要条件,只要想办法打破一个或多个就可以避免死锁发生。

 

 

 

posted @ 2022-06-03 13:25  浅枫  阅读(12)  评论(0编辑  收藏  举报