
锁
吴顺达
这个作者很懒,什么都没留下…
展开
-
Condition 源码学习
Condition 解析原创 2020-12-16 16:20:12 · 232 阅读 · 0 评论 -
ReentrantReadWriteLock 源码学习
是什么读写锁在同一时刻可以允许多个读线程访问,但是写线程操作时,所有的读线程和其他写线程均被阻塞。使用例子public class LockTest { private static ReadWriteLock lock = new ReentrantReadWriteLock(); /** * 读取资源 */ public void read() throws InterruptedException { lock.readLock().原创 2020-12-15 20:29:11 · 175 阅读 · 0 评论 -
可重入锁 ReentrantLock AQS 源码解析
使用范例Lock lock = new ReentrantLock();lock.lock();try { dosomething();} finally { lock.unlock();}在finally块中释放锁,目的是保证在获取到锁之后,最终能够被释放。接口结构Lock是个顶级接口,构建了锁的生态环境void lock();获取锁。如果该锁不可用,则出于线程调度目的,当前线程将被禁用,并处于休眠状态,直到获得该锁为止void lockInterru原创 2020-12-11 23:22:42 · 351 阅读 · 2 评论 -
volatile关键字 可见性 有序性 原子性 内存语义
理解volatile特性的一个好方法是把对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步class VolatileFeaturesExample { volatile long vl = 0L; // 使用volatile声明64位的long型变量 public void set(long l) {...原创 2020-12-09 22:51:03 · 284 阅读 · 0 评论