请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

SpinLock和ReentrantLock的区别

老师您好:

最近看到这样一段代码

putMessageLock.lock(); //spin or ReentrantLock ,depending on store config

自己实现的spinlock自旋锁和reentrantlock都是cas操作吧?为什么要分出来这个呢?

正在回答

1回答

ReentrantLock不是自旋,它内部是利用AQS,抢不到锁的话会休眠,但是SpinLock会一直抢锁

0 回复 有任何疑惑可以回复我~
  • 提问者 Kevin7012055 #1
    非常感谢!时间长了忘记了 获取state是cas,队列是LockSupport.park()
    回复 有任何疑惑可以回复我~ 2021-01-21 21:49:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信