死锁

指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。


死锁有四个必要条件:



  1. 互斥条件。一个资源只能被一个进程占用
  2. 不可剥夺条件。某个进程占用了资源,就只能他自己去释放。
  3. 请求和保持条件。某个进程之前申请了资源,我还想再申请资源,之前的资源还是我占用着,别人别想动。除非我自己不想用了,释放掉。
  4. 循环等待条件。一定会有一个环互相等待。



>> ​​死锁的检测与预防方法​