8个HAPPEN-BEFORE原则

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方法调用。

 

你可能感兴趣的:(多线程,heppen-before)