开发者社区 问答 正文

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

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

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

    2024-05-30 15:10:13
    赞同 1 展开评论
问答地址: