ReentrantLock

ReentrantLock是一个基于AQS的可重入的互斥锁,
公平锁将确保等待时间最长的线程优先获取锁,将会使整体的吞吐量下降
非公平锁将不能确定哪一个线程将获取锁,可能会导致某些线程饥饿。

ReentrantLock基本使用方式:

public class ReentrantLockTest {
    private final ReentrantLock lock = new ReentrantLock();
    // ...

    public void doSomething() {
        lock.lock();  // block until condition holds
        try {
            // ... method body
        } finally {
            lock.unlock();
        }
    }
}
上一篇:d


下一篇:知识点