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

Synchronized和ReentrantLock的区别

1、Synchronized是关键字,ReentrantLock是类。

2、Synchronized会自动加锁与释放锁,ReentrantLock需要手动加锁与释放锁。

3、Synchronized底层是JVM层面的锁,ReentrantLock底层是API层面的锁。

4、Synchronized是非公平锁,ReentrantLock可以选择是公平锁或非公平锁。

5、Synchronized锁的是对象,锁信息保存在对象头中;

      ReentrantLock通过代码中int型state标识来标识锁的状态。

6、Synchronized底层有一个锁升级的过程。


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

相关文章:

  • SQL Server查询计划操作符(7.3)——查询计划相关操作符(5)
  • R 字符串:深入理解与高效应用
  • 【Linux】 冯诺依曼体系与计算机系统架构全解
  • deepseek v1手机端部署
  • Alibaba开发规范_编程规约之命名风格
  • 【ts + java】古玩系统开发总结
  • leetcode——两两交换链表中的节点(java)
  • 省级生活垃圾无害化处理率面板数据(2004-2022年)-社科数据
  • super关键字
  • 自定义数据集,使用scikit-learn 中K均值包 进行聚类
  • 数据分析系列--[12] RapidMiner辨别分析(含数据集)
  • Kafka ACL(访问控制列表)介绍
  • c/c++高级编程
  • 聚簇索引、哈希索引、覆盖索引、索引分类、最左前缀原则、判断索引使用情况、索引失效条件、优化查询性能
  • Python 网络爬虫实战:从基础到高级爬取技术
  • K个不同子数组的数目--滑动窗口--字节--亚马逊
  • 算法随笔_37: 交替合并字符串
  • 玩转Docker | 使用Docker部署MySQL数据库
  • 解密 Argon2:Java 密码加密的高安全实践与趣味探索
  • 100.2 AI量化面试题:在构建多因子选股模型时,如何有效处理因子之间的共线性问题?请给出具体的解决方案
  • DeepSeek-R1大模型本地化部署
  • 【前端学习路线】前端生态 详细知识点学习路径(附学习资源)
  • leetcode 2187. 完成旅途的最少时间
  • 如何用微信小程序写春联
  • 十一、实战案例
  • Java Web的发展史与SpringMVC入门学习(SpringMVC框架入门案例)