ReentrantLock

ReentrantLock 是可以替代synchronized使用的。

区别与优点:

ReentrantLock vs synchronized

  • 底层是CAS vs sync锁升级
  • 可以使用tryLock进行一个锁状态的判断和处理
  • 可以使用lockInterrupptibly 打断当前锁的等待状态
  • ReentrantLock可以控制锁的公平和非公平获取(公平的话就是先来后到;而synchronized只有非公平锁,抢到了就是谁的)

原文地址:https://www.cnblogs.com/risuschen/p/13721282.html