死锁

1.什么是死锁
死锁是指两个或者两个以上的进程由于竞争资源或者彼此联系所造成的系统阻塞,这个状态下,如果没有外力作用,他们将无法推进下去,此时系统处于死锁状态或系统造成了死锁

联想:
2. 死锁发生的原因
1.互斥使用
当一个资源被一个线程占有后,其他的线程不能占用
2.不可抢占
资源请求者不可直接占用资源,必须等资源占有者自动释放后才可获得
3.请求和保持
资源请求者在请求其他资源时,也保持自身拥有的资源不被抢占
4。循环等待
即存在一个等待队列,当p1占用p2的资源,p2占用p3的资源,p3占用p1的资源,这样就形成了一个等待回路

你可能感兴趣的:(死锁)