ReentrantLock
0 人感兴趣 · 15 次引用
- 最新
- 推荐

阅读完 synchronized 和 ReentrantLock 的源码后,竟发现其完全相似
并发编程在互联网技术使用如此广泛,几乎所有的后端技术面试官都要在并发编程的使用和原理方面对小伙伴们进行 360° 的刁难。
阅读完 synchronized 和 ReentrantLock 的源码后,我竟发现其完全相似
并发编程在互联网技术使用如此广泛,几乎所有的后端技术面试官都要在并发编程的使用和原理方面对小伙伴们进行 360° 的刁难。

ReentrantLock 和 Synchronized 使用与区别,多线程安全问题
ReentrantLock和Synchronized使用与区别,多线程安全问题

一文搞懂 ReentrantLock 的公平锁和非公平锁
reentrant 翻译为可重入的,因此从字面上翻译为可重入锁,我们知道可重入是指:同一个线程对于已经获得到的锁,可以多次继续申请到该锁的使用权。ReentrantLock 在调用 lock()方法时,已经获取到锁的线程,能够再次调用lock()方法获取锁而不被阻塞。
了解 Java 中的锁 Lock
在之前的文章synchronized底层实现说到synchronized是属于JVM层面的锁,而且它只是一个关键字,是不能查看Java源码的,因此我们可以把它当做隐式锁。

面试官:你说说 ReentrantLock 和 Synchronized 区别
大家好!又和大家见面了。为了避免面试尴尬,今天同比较通俗语言和大家聊下ReentrantLock和Synchronized区别!
ReentrantLock 原理分析
ReentrantLock是Java并发包中提供的一个可重入的互斥锁,掌握它是提升Java内功的必备。


排队打饭:公平锁和非公平锁 (面试)
有个小伙伴最近咨询我,前段时间他被面试官问了synchronized是公平锁还是非公平锁?排队打饭:公平锁和非公平锁(面试)

动态高并发时为什么推荐 ReentrantLock 而不是 Synchronized?
Synchronized 和 ReentrantLock 大家应该都不陌生了,作为java中最常用的本地锁,最初版本中 ReentrantLock 的性能是远远强于 Synchronized 的,后续java在一次次的版本迭代中 对 Synchronized 进行了大量的优化,直到 jdk1.6 之后,两种锁的性能

万字图文 | 聊一聊 ReentrantLock 和 AQS 那点事(看完不会你找我)
文章以 ReentrantLock 作为切入点,讲述了其公平锁和非公平锁的概念,以及对应 AQS 中 CLH、AOS 等不容易被发现的概念

这才是图文并茂:我写了 1 万多字,就是为了让你了解 AQS 是怎么运行的
从源码角度带你走进AQS的世界,帮助你在Java并发编程方面更上一层楼

jdk 源码系列之 ReentrantLock
最近将 ReentrantLock 学了一遍同时也把源码读了一遍,记录下学习的过程

面经手册 · 第 16 篇《码农会锁,ReentrantLock 之公平锁讲解和实现》
ReentrantLock 是基于 Lock 实现的可重入锁,所有的 Lock 都是基于 AQS 实现的。而它的可重入是因为实现了同步器 Sync,在 Sync 的两个实现类中,包括了公平锁和非公平锁。

手写一个重入锁
通常我们说的并发安全问题,都是由多个线程同时修改公共的资源引起的。由于不同线程同时修改公共资源而导致最终执行的结果不确定。解决这个问题的简单的做法是使用java关键字synchronized来加锁。关于synchronized不是本期的重点,本期我们主要说重入锁。