
并发
volatile、synchronize等多线程
DatDreamer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AQS排它锁的获取acquire、释放release详解
大量源码注释警告,请耐心阅读AQS实现了代码块的并发控制,通过内置的FIFO双向队列来完成线程的排队工作基于模板方法模式设计,因此子类只需对五个方法,进行部分重写4个try:{独占 | 共享} + {获取 | 释放} ; 1个独占判断 //2个独占式的获取、释放 同步状态protected boolean tryAcquire(int arg) protected b...原创 2020-04-11 00:05:48 · 878 阅读 · 0 评论 -
java的Unsafe类解析
Unsafe性质sun.misc.Unsafe,“后门”类,可以直接操控内存和线程的底层操作,应用于java.nio和并发包等实现Unsafe是final类,不能被继承-获取Unsafe实例的"唯一"正常手段:Unsafe unsafe = Unsafe.getUnsafe();因为有使用限制,看源码就知道了//构造器私有private Unsafe() {}@CallerS...原创 2020-04-08 00:09:47 · 247 阅读 · 0 评论 -
volatile禁止重排序详解
首先说明本文并不是讲解volatile不保证原子性、如何保证可见性xxxx,还不懂的请参考让你彻底理解volatile并发关键字volatile(重排序和内存屏障)本文针对以下两个问题解答1. 重排序规则中,volatile读写跟普通读写有什么关系,为什么要限制它们2. volatile读操作的内存屏障的LoadLoad屏障到底是在读前还是读后直接进入主题重排序规则中,volatil...原创 2020-03-22 15:25:56 · 3278 阅读 · 23 评论