死锁产生的条件si

1 死锁是由于两个或两个以上进程竞争资源导致的一种僵局。

死锁产生的必要条件

a 互斥关系,进程在对资源进行排他性控制,在满足释放条件之前资源不会被其他进程所使用

b 不剥夺条件,进程在使用完资源前不会被其他的进程强行剥夺

c 请求和保持条件,进程已经保持了一个资源,又去请求下一个资源,而下一个资源又被另一个进程所占有

d 循环等待,存在进程的资源循环等待连,每个进程所请求的资源被下一个资源所占有

2 预防和解除死锁

a 了解死锁的产生条件就可以预防死锁的发生,破坏其中上述四个条件中的每一个都可以解除死锁。最简单的

预防死锁的方式是都以同样的顺序来加锁。另外在进程的调度顺序,算法上进行优化可以尽量避免死锁的出现。



你可能感兴趣的:(面试题)