目录
1、程序顺序规则
每个单线程中的每个操作,happens-before于该线程中的任意后续作
2、监视器锁规则
对一个锁的解锁unlock操作,一定是happens-before于对这个锁的加锁lock操作
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()操作成功返回