happens-before规则内容

2019-04-06  本文已影响0人  蓝影草

1、程序次序原则:一个线程内,按照程序代码顺序,书写在前面的操作先行发生与书写在后面的操作。

2、监视器锁规则:一个unlock操作先行发生与后面对同一个锁的lock操作者,这里必须指同一个锁,后面指的是时间上的先后顺序。

3、volatile变量规则:对一个volatile变量的写操作先行发生于后面对这个变量的读操作,这里的后面同样指时间上的先后顺序。

4、线程启动规则:Thread对象的start方法先行发生于此线程的每一个动作

5、线程终止规则:线程中的所有操作都先行发生于对此线程的终止检测,我们可以通过thread.join方法结束,thread.isAlive的返回值等手段检测到线程已经终止执行

6、线程中断原则:对线程interrupt方法的调用先行发生于被中断线程的代码监测到中断时间的发生,可以通过interrupt方法检测到是否又中断发生

7、对象终结规则:一个对象的初始化完成,先行发生于它的finalize方法的开始

8、传递性:如果A先行发生于B,B先行发生于C,则A先行发生于C

上一篇下一篇

猜你喜欢

热点阅读