尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

锁相关记录

锁相关记录
📅 发布时间:2026/6/19 5:40:43
  1. 公平锁和非公平锁区别

公平锁‌:采用先进先出(FIFO)队列机制,线程按请求锁的顺序排队,只有队列首位的线程能获取锁资源。例如Java的ReentrantLock(true)实现。‌‌
‌非公平锁‌:允许线程直接尝试抢占锁(即使队列中有等待线程),成功则立即执行,失败才加入队列。例如Java的ReentrantLock默认实现方式。‌‌

  1. 有哪些公平锁,非公平锁
    reentrantLock 支持公平锁与非公平锁实现

3.可重入锁底层实现

AQS 原理

  1. synchronized 底层实现

锁升级过程(锁升级是不可逆的,即一旦锁被升级为下一个级别的锁,就无法再降级。)
无锁状态-》偏向锁状态-》轻量级锁状态-》重量级锁状态

锁优化
1.自适应自旋锁
自旋锁依赖于 CAS,我们可以手动的设置 JVM 的自旋锁自旋次数,但是往往很难确定适当的自旋次数,如果自旋次数太少,那么可能会引起不必要的锁升级,而自旋次数太长,又会影响性能。
在 JDK6 中,引入了自适应自旋锁的机制,对于同一把锁,当线程通过自旋获取锁成功了,那么下一次自旋次数就会增加,而相反,如果自旋锁获取失败了,那么下一次在获取锁的时候就会减少自旋次数。
2.锁消除
在一些方法中,有些加锁的代码实际上是永远不会出现锁竞争的,比如 Vector 和 Hashtable 等类的方法都使用 synchronized 修饰,但是实际上在单线程程序中调用方法,JVM 会检查是否存在可能的锁竞争,如果不存在,会自动消除代码中的加锁操作。
3.锁粗化
我们常说,锁的粒度往往越细越好,但是一些不恰当的范围可能反而引起更频繁的加锁解锁操作,比如在迭代中加锁,JVM 会检测同一个对象是否在同一段代码中被频繁加锁解锁,从而主动扩大锁范围,避免这种情况的发生。

  1. JUC 有哪些常用类

JUC(Java Util Concurrency)是Java并发工具包,提供了丰富的并发编程工具类。常见类及其核心功能:

核心类

‌Callable接口‌
用于创建有返回值的线程任务,与Runnable区别在于call()方法可抛出异常并返回结果。常与FutureTask结合使用以获取执行结果。 ‌
‌ReentrantLock‌
可重入锁,支持公平/非公平策略,相比synchronized提供更灵活的锁控制(如尝试锁定、可中断锁定等)。 ‌
‌Semaphore‌
信号量,用于控制并发线程数量,适用于需要限制资源访问数量的场景(如数据库连接池)。 ‌
‌CountDownLatch‌
倒计时器,初始化后按顺序完成指定任务,常用于多阶段任务同步(如启动多个子任务后统一结束)。 ‌
并发容器类
‌ConcurrentHashMap‌
线程安全的HashMap,采用分段锁机制提升并发性能,适用于高并发场景的键值对存储。 ‌
‌CopyOnWriteArrayList‌
写时复制的动态数组,适合读操作远多于写操作的场景(如迭代器遍历)。 ‌
‌BlockingQueue系列‌
包含ArrayBlockingQueue(固定长度)、LinkedBlockingQueue(可扩展)等,用于线程间任务排队。 ‌
工具类
‌FutureTask‌
封装Callable/Runnable任务,支持异步执行和结果获取。 ‌
‌Executor框架‌
包含ThreadPoolExecutor等核心组件,提供线程池管理功能,优化资源分配和任务调度。 ‌

相关新闻

  • 第5讲 机器学习生态构成 - 详解
  • 当前流行的前端框架
  • 选择MyEMS:为什么开源是能源数字化未来的最佳路径?

最新新闻

  • 2026长沙防水补漏权威指南:卫生间/屋面/外墙/地下室正规施工+透明报价+避坑全攻略 - 苏易修缮
  • 爱回收靠谱吗?一个测评博主的深度复盘 - 新闻快传
  • 2026昆山建筑修缮行业全景分析:昆山鼎壹万防水补漏公司及本地适配服务商深度指南 专业防水公司排名推荐(2026年6月防水补漏最新TOP权威排名) - 鼎壹万修缮说
  • 六安7年烘焙老店|三个叔叔手工吐司文庙街店:用心做好每一款生日蛋糕 - 速递信息
  • 2026合肥防水补漏权威指南:卫生间/屋面/外墙/地下室正规施工+透明报价+避坑全攻略 - 苏易修缮
  • 爱回收买iPad靠谱吗?质检与售后逐项看 - 新闻快传

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号