ReentrantLock

简介: ReentrantLock是一个可重入的互斥锁, 公平锁将确保等待时间最长的线程优先获取锁,将会使整体的吞吐量下降 非公平锁将不能确定哪一个线程将获取锁,可能会导致某些线程饥饿。 ReentrantLock基本使用方式: public class ReentrantLockTest {

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();
        }
    }
}
目录
相关文章
|
安全 Java
ReentrantLock、ReentrantReadWriteLock、StampedLock讲解
ReentrantLock、ReentrantReadWriteLock、StampedLock讲解
|
3月前
ReentrantLock 可重入锁总结
ReentrantLock 可重入锁总结
32 0
|
5月前
ReentrantLock
ReentrantLock
29 1
|
5月前
|
存储 设计模式 安全
理解 AQS 和 ReentrantLock
在多线程编程中,同步机制是确保线程安全的关键。AQS(AbstractQueuedSynchronizer)和ReentrantLock是Java中两种常见的同步机制,它们各自具有不同的特性和适用场景。了解和掌握这两种机制对于编写高效、安全的并发程序至关重要。这篇文章将带你取了解和掌握这两种机制!另外值得一提的是:公平锁的实现与非公平锁是很像的,只不过在获取锁时不会直接尝试使用CAS来获取锁。只有当队列没节点并且state为0时才会去获取锁,不然都会把当前线程放到队列中。
164 1
ReentrantLock和Synchronized简单比较
ReentrantLock和Synchronized简单比较
43 0
|
Java
16.ReentrantLock全解读
大家好,我是王有志。今天和大家一起聊聊ReentrantLock,它是我们最常见的基于AQS实现的互斥锁。
124 0
|
缓存 Java Linux
ReentrantLock、ReentrantReadWriteLock、StampedLock
ReentrantLock、ReentrantReadWriteLock、StampedLock
ReentrantLock、ReentrantReadWriteLock、StampedLock
|
Java 容器 安全
ReentrantLock详解
本博客主要讲述ReentrantLock的实现原理,主要内容包括: AQS原理以及实现过程。 ReenetrantLock获取锁、释放锁流程,以及原理。 ReenetrantLock源码分析。
6164 1
|
Java
彻底理解ReentrantLock可重入锁的使用
java除了使用关键字synchronized外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。这篇文章主要是从使用的角度来分析一下ReentrantLock。
198 0
彻底理解ReentrantLock可重入锁的使用
ReentrantLock介绍
ReentrantLock介绍
161 0