死锁问题是多线程特有的问题,它可以认为是线程间切换消耗系统资源的极端情况,在死锁时,线程间相互等待资源,而又不释放资源,导致无穷无尽的等待,启结果是系统任务永远无法执行完后成。
一般来说,要出现死锁需要满足如下4个条件:
1、互斥条件:一个资源只能被一个线程使用。
2、请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。
3、不剥夺条件:线程已获得的资源,在未完成之前不释放。
4、循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系。
死锁问题是多线程特有的问题,它可以认为是线程间切换消耗系统资源的极端情况,在死锁时,线程间相互等待资源,而又不释放资源,导致无穷无尽的等待,启结果是系统任务永远无法执行完后成。
一般来说,要出现死锁需要满足如下4个条件:
1、互斥条件:一个资源只能被一个线程使用。
2、请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。
3、不剥夺条件:线程已获得的资源,在未完成之前不释放。
4、循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系。