摘自《Thinking in Java》:
死锁产生的原因:
1.互斥条件。任务使用的资源至少一个是不能共享的。
2.至少有一个任务它必须持有一个资源且正在等待获取一个当前被别的任务持有的资源。
3.资源不能被任务抢占。任务必须把资源释放当做普通事件。
4.必须有等待循环。
要发生死锁,上述条件必须全部都满足;所以要防止死锁的话,只需要破坏其中的一个即可。在程序中,最容易防止死锁的方法是破坏第四个条件~
摘自《Thinking in Java》:
死锁产生的原因:
1.互斥条件。任务使用的资源至少一个是不能共享的。
2.至少有一个任务它必须持有一个资源且正在等待获取一个当前被别的任务持有的资源。
3.资源不能被任务抢占。任务必须把资源释放当做普通事件。
4.必须有等待循环。
要发生死锁,上述条件必须全部都满足;所以要防止死锁的话,只需要破坏其中的一个即可。在程序中,最容易防止死锁的方法是破坏第四个条件~