什么是死锁?怎么解决死锁?
死锁:如果有两个线程同时需要对方的锁才能向下执行,但是自己又不释放锁对象,就会导致阻塞的状态,所以产生死锁。
怎么解决死锁:修改代码,尽量不要使用锁的嵌套。
(1)死锁检测和恢复: 死锁检测即探查和识别死锁的方法。死锁恢复是指当检测并识别出系统中出现处于死锁之中的一组进程时,如何使系统回复到正常状态并继续执行下去。
(2)死锁预防:是在系统运行之前,事先考虑防止死锁发生的对策,即在最初设计各种资源调度算法时,就没法防止在系统运行过程中可能产生的死锁。
(3)死锁避免:是在系统运行过程中注意避免死锁的发生。 |
|