Ch01-Java JUC 之 理论基础

Ch01-Java JUC 之 理论基础

April 4, 2017
Java | JUC
java

Happens-Before 规则 #

规则 说明
单一线程原则 在一个线程内,在程序前面的操作先行发生于后面的操作
管程锁定规则 一个 unlock 操作先行发生于后面对同一个锁的 lock 操作
volatile 变量规则 对一个 volatile 变量的写操作先行发生于后面对这个变量的读操作
线程启动规则 Thread 对象的 start() 方法调用先行发生于此线程的每一个动作
线程加入规则 Thread 对象的结束先行发生于 join() 方法返回
线程中断规则 对线程 interrupt() 方法的调用先行发生于被中断线程的代码检测到中断事件的发生,可以通过 interrupted() 方法检测到是否有中断发生
对象终结规则 一个对象的初始化完成 (构造函数执行结束) 先行发生于它的 finalize() 方法的开始
传递性 如果操作 A 先行发生于操作 B,操作 B 先行发生于操作 C,那么操作 A 先行发生于操作 C

参考文献 #