当前位置: 代码迷 >> 综合 >> 介绍一下ReentrantLock
  详细解决方案

介绍一下ReentrantLock

热度:83   发布时间:2024-02-01 21:16:56.0

ReentrantLock是java.util.concurrent.locks中的一个可重入锁类,在高竞争的条件下有更好的性能,可以中断。ReentrantLock是基于AQS实现的,AQS是基于FIFO队列实现的,AQS的子类只需要重写模板模式方法即可。

ReentrantLock可以通过构造方法实现公平锁,但一般是非公平锁。非公平锁的实现是线程1调用lock()方法,将state更新为1,然后设置当前线程为独占模式,如果线程2想要获取锁会调用acquire方法,如果tryAcquire返回失败,将线程2加入等待队列。