造成死锁的几个原因:
1.一个资源每次只能被一个线程调用;
2.一个线程在阻塞等待某个资源时,不释放已占用资源;
3.一个线程在获得资源,未使用完之前不能进行剥夺;
4.若干个线程头尾相连循环等待资源。
这是产生死锁的四个必要条件,所以只要不满足其中一个条件就可以了,
但是作为一个锁必须要满足前三个条件,所以只能打破第四个条件!
造成死锁的几个原因:
1.一个资源每次只能被一个线程调用;
2.一个线程在阻塞等待某个资源时,不释放已占用资源;
3.一个线程在获得资源,未使用完之前不能进行剥夺;
4.若干个线程头尾相连循环等待资源。
这是产生死锁的四个必要条件,所以只要不满足其中一个条件就可以了,
但是作为一个锁必须要满足前三个条件,所以只能打破第四个条件!