专栏名称: 码小辫
给程序员和编程爱好者分享计算机编程电子书以及相关的学习资源
今天看啥  ›  专栏  ›  码小辫

3分钟秒懂死锁产生原因!

码小辫  · 公众号  ·  · 2024-08-08 17:10

文章预览

一、简介 在之前的文章中,我们介绍了 synchronized 同步锁关键字的作用以及相关的用法, 它能够保证同一时刻最多只有一个线程执行修饰的代码段,以实现线程安全执行的效果 。 但是如果过度的使用 synchronized 等方式进行加锁,程序可能会出现 死锁 现象。 那什么是 死锁 呢?它有什么危害? 我们知道被 synchronized 修饰的代码,当一个线程持有一个锁,其它线程尝试去获取这个锁未获取到时,那么其它线程会进入阻塞状态,直到线程释放锁才能再次拥有获取锁的条件。假如线程 A 持有锁 L 并且想获取锁 R,线程 B 持有锁 R 并且想获取锁 L,那么这两个线程将会永久等待下去,这种情况就是最简单的死锁现象。 如果程序出现了死锁,会给系统功能带来非常严重的问题,轻则导致程序响应时间变长,系统吞吐量变小;重则导致应用中的某一个功能直接 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览