死锁的出现条件

来源:互联网 发布:阿里云访问页面很慢 编辑:程序博客网 时间:2024/05/12 08:11

死锁问题是多线程特有的问题,它可以认为是线程间切换消耗系统资源的极端情况,在死锁时,线程间相互等待资源,而又不释放资源,导致无穷无尽的等待,启结果是系统任务永远无法执行完后成。

一般来说,要出现死锁需要满足如下4个条件:

1、互斥条件:一个资源只能被一个线程使用。

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

3、不剥夺条件:线程已获得的资源,在未完成之前不释放。

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

原创粉丝点击