happens-before的规则
来源:互联网 发布:rds sql审计 编辑:程序博客网 时间:2024/05/15 13:30
happens-before是JMM(java main memory)最核心的概念,在JMM中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在happens-before关系。这里提到的两个操作可以是一个线程内的,也可以是在不同线程之间。
happens-before的规则如下:
1)程序顺序规则:一个线程中的每个操作,happens-before于该线程中的任意后续操作。
2)监视器锁定规则:对一个锁的解锁,happens-before于随后对这个锁的加锁。
3)volatile变量规则:对一个volatile域的写,happens-before于任意后续对这个volatile域的读。
4)传递性:如果A happens-before B ,且B happens-before C,那么A happens-before C。
5)start()规则:如果线程A执行操作TreadB.start()(启动B线程),那么A线程的ThreadB.start()操作happens-before于线程B中的任意操作。
6)join()规则:如果线程A执行操作ThreadB.join()并成功返回,那么线程B中的任意操作happens-before于线程A从ThreadB.join()操作成功返回。
0 0
- happens-before的规则
- 关于happens-before规则的研究
- happens-before规则解析
- happens-before规则
- 多线程 happens-before规则
- 指令重排、happens-before规则
- ConcurrentHashMap01--(Happens-Before规则)
- Java并发----ConcurrentHashMap01--(Happens-Before规则)
- jvm的happens-before原则
- happens-before
- happens-before
- happens-before
- happens-before
- happens-before规则和as-if-serial语义
- JAVA多线程系列--指令重排和happens-before规则
- 日常小结-happens-before的个人理解
- happens-before原则
- Java Happens-before法则
- 极小化极大算法
- 判断XML下面的一个节点是否存在
- 保存图片到系统相册(Swift版)
- 浅谈数据分析和数据建模
- OpenCV仪表数据识别(五):数字分割提取
- happens-before的规则
- Minimum Inversion Number(线段树)
- 【HDU】4857 - 逃生(拓扑 & STL - vector & 优先队列 & 栈,反向拓扑好题)
- 对象相等性——如何给自定义对象添加equals和hashCode方法
- 观察者模式
- ImportError: No module named Crypto.Cipher (Win7 + eclipse + pydev解决方案)
- Tomcat与JDK版本对应关系
- 【python】python redis的安装与使用
- 安卓集训营第七天---JAVA的IO流