死锁

来源:互联网 发布:网络暴力赚钱项目 编辑:程序博客网 时间:2024/06/06 09:54

1.定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
2.产生死锁的四个必要条件;
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
3.如何避免死锁?
要想避免死锁的发生就需要了解死锁产生的必要条件,只要避免这四个必要条件,死锁自然而然的就可以避免。
(1)避免循环
(2)减少资源的持有时间,减少锁的竞争
(3)减少持有资源的时间
(4)使用较低的隔离级别(例如已提交读)比使用较高的隔离级别(例如可序列化)持有共享锁的时间更短,减少锁竞争

0 0