java中几个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 执行 ThreadB.start()操作,那么A线程的ThreadB.start()操作 happens-before 线程B 中的任意操作

6.join()规则:如果线程A执行操作ThreadB.join()成功返回,那么线程B中的任意操作happens-before 线程A从ThreadB.join()操作成功返回。

原文地址:https://www.cnblogs.com/selfchange/p/java.html