0
点赞
收藏
分享

微信扫一扫

17 线程死锁的解决

线程死锁造成这个有4个因素,分别是互斥使用、占有且等待、不可抢占、循环等待。当死锁产生时,这4个因素就一定会存在的。

互斥使用,就是指资源在同一时间只能给一个线程使用。

占有且等待,就是线程占有原资源的同时,申请新的资源并等待。

不可抢占,就是其它线程无法夺取资源的控制权。资源只能由占有者释放。

循环等待,多个线程,占有多个资源的同时,申请对方的资源。形成一个循环等待的链条。

那么怎么避免死锁呢,就是破坏上面的条件之一。比如第四个条件,给个资源有序分配方案,打破循环链条,那么死锁就解决了。

举报

相关推荐

0 条评论