死锁
来源:互联网 发布:网络暴力赚钱项目 编辑:程序博客网 时间:2024/06/06 09:54
1.定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
2.产生死锁的四个必要条件;
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
3.如何避免死锁?
要想避免死锁的发生就需要了解死锁产生的必要条件,只要避免这四个必要条件,死锁自然而然的就可以避免。
(1)避免循环
(2)减少资源的持有时间,减少锁的竞争
(3)减少持有资源的时间
(4)使用较低的隔离级别(例如已提交读)比使用较高的隔离级别(例如可序列化)持有共享锁的时间更短,减少锁竞争
0 0
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- 死锁
- android开发style详解
- 线程、主线程、进程、操作系统、计算机硬件一些概念笔记和疑问
- 简单web项目注意
- 文件上传漏洞
- modbus协议_笔记
- 死锁
- 数据类型与循环结构
- elasticsearch去重计数(distinct)
- leetcode 每日一题 283. Move Zeroes
- Android多媒体之视频播放器高级开发
- poj2455Secret Milking Machine(二分 + maxflow)
- 关于gcc、glibc和binutils模块之间的关系
- Leetcode:83. Remove Duplicates from Sorted List(JAVA)
- NIO和IO