![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8f796766f0c0f633d3e461e79c7c540f.png)
目录:
一.概述
程序运行流程因为某种原因卡死无法在继续运行叫做死锁.
二.死锁产生的原因
1.互斥条件
一个资源同一时间只有一个进程/线程能够访问到
2.不可剥夺条件
对于这个线程加的锁,只能这个线程来进行解锁,其他的不行
3.请求和保持条件
线程加了A锁后请求B锁,B请求不到,A锁也无法释放
4.环路等待条件
线程1加了A锁,请求B锁,线程2加了B锁,请求A锁.
三.如何预防死锁
1.保证加锁解锁的顺序一致
2.请求不到第二个锁就是放已有的锁
四.如何避免死锁
使用银行家算法对是否够用进行检查
我对于死锁这里的内容理解的还比较浅显,后期会补充修改