开发者社区> 问答> 正文

synchronized和ReentrantLock在实现原理上有什么不同?

synchronized和ReentrantLock在实现原理上有什么不同?

展开
收起
萝卜丝丸子 2024-05-30 14:27:03 16 0
1 条回答
写回答
取消 提交回答
  • synchronized的实现涉及到锁的升级,具体为无锁、偏向锁、自旋锁、向OS申请重量级锁;而ReentrantLock则是通过利用CAS(CompareAndSwap)自旋机制保证线程操作的原子性和volatile保证数据可见性以实现锁的功能。

    2024-05-30 15:10:13
    赞同 1 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载