当前位置: 首页 > article >正文

Redisson的可重入锁

在这里插入图片描述

初始状态:

表示系统或资源在没有线程持有锁的情况下的状态,任何线程都可以尝试获取锁。

线程 1 获得锁:

线程 1 首次获取了锁并进入受保护的代码区域。

线程 1 再次请求锁:

在持有锁的情况下,线程 1 再次请求锁,展示了可重入锁的特性——线程可以在持有锁的情况下重新进入锁区域而不会阻塞。

线程 1 释放锁:

线程 1 完成任务,开始释放锁。在可重入锁的情况下,需要释放与请求次数相同的次数,线程 1 完全释放锁后,锁恢复到初始状态。

线程 2 等待锁:

当线程 1 持有锁时,线程 2 试图获取锁但被阻塞,进入等待状态。这个节点表示线程 2 被阻塞等待的状态。

线程 2 获得锁:

线程 1 完全释放锁后,锁恢复为初始状态,线程 2 能够获取锁,进入受保护的代码区域。

线程 2 释放锁并返回初始状态:

线程 2 完成任务后,释放锁,系统回到初始状态,其他线程可以尝试获取锁。


http://www.kler.cn/a/398192.html

相关文章:

  • 【Electron】Electron Forge如何支持Element plus?
  • 从零到一:利用 AI 开发 iOS App 《震感》的编程之旅
  • 重置docker版本的octoprint管理员账号密码
  • reduce-scatter:适合分布式计算;Reduce、LayerNorm和Broadcast算子的执行顺序对计算结果的影响,以及它们对资源消耗的影响
  • 数据分析-48-时间序列变点检测之在线实时数据的CPD
  • git使用及上线流程(仅为我工作中常用)
  • spring boot 常用参数总结
  • 【t365】基于springboot的高校疫情防控系统
  • ptrade财务数据
  • C#文字识别API场景解析、表格识别提取
  • Qt学习笔记(四)多线程
  • minikube start --driver=docker 指定国内镜像
  • 【windows笔记】07-远程桌面(mstsc)提升画面刷新率(帧率)限制
  • Spring Cloud微服务超详细讲解
  • 多目标优化算法:多目标黑翅鸢算法(MOBKA)求解ZDT1、ZDT2、ZDT3、ZDT4、ZDT6,提供完整MATLAB代码
  • 单元测试时报错找不到@SpringBootConfiguration
  • 文件上传漏洞--理论
  • 探索光耦:晶体管光耦——智能家居的隐形桥梁,让未来生活更智能
  • C函数如何返回参数lua使用
  • [前端面试]javascript
  • aws(学习笔记第十二课) 使用AWS的RDS-MySQL
  • 最短路径生成树的数量-黑暗城堡
  • ️虚拟机配置NAT和Bridge模式
  • 2024-11-12 学习人工智能的Day25 scikit-learn库初见
  • 让空间计算触手可及,VR手套何以点石成金?
  • AIR 780EP开发流程记录-AT方式