什么是死锁?

    假设现在有四个不能共享的资源。A、B、C、D。有四条线程甲、乙、丙、丁。甲拿着A、乙拿着B、丙拿着C、丁拿着D。它们任何一个必须拿着2个资源才能运行。(就好像每个人一定要两根筷子才能吃饭。)但是现在每个人拿着一个资源,谁也不可以继续运行。这就是死锁。

    死锁出现要满足以下三个条件(假定资源不能抢占):

           1、互斥条件。任务中使用的资源必须至少有两个是不能共享的。

           2、至少有两个任务拿着一个资源正在等待另外一个资源。

           3、循环等待。

    

猜你喜欢

转载自blog.csdn.net/u012925114/article/details/80441211