1.单线程happen-before原则:在同一个线程中,书写在前面的操作happen-before后面的操作。
2.锁的happen-before原则:同一个锁的unlock操作happen-before此锁的lock操作。
3.volatile的happen-before原则:对一个volatile变量的写操作happen-before对此变量的任意操作(当然也包括写操作了)
4.happen-before的传递性原则:如果A操作happen-before B操作,B操作happen-before C操作,那么A操作happen-before C 操作
5.线程启动的happen-before原则:同一个线程的start方法happen-before此线程的其他方法。
6.线程中断的happen-before原则:对县城interrupt方法的调用happen-before被中断线程的检测到中断发送的代码。
7.线程终结的happen-before原则:线程中的所有操作都happen-before线程的终止检测。
8.对象创建的happen-before原则:对象的初始化完成先于他的finalize方法的调用
来源:https://www.cnblogs.com/Mr-Rocker/p/11757065.html