当前位置:   article > 正文

java内存模型-先行发生原则_java先行发生原则底层

java先行发生原则底层

上面说过,如果要靠synchronized和volatile来保证有序性,那java就是一个失败的语言,在java语言中有一个“先行发生”原则。

java天然的先行发生关系如下:
程序次序规则
管程锁定规则
线程启动规则:线程start方法先行发生于此线程的每一个动作
线程终止规则:线程中所有操作都先行发生于此线程的终止检测,所以,我们才能利用Thread.join()方法结束、Thread.isAlive的返回值等手段检测线程已经终止执行
线程中断原则
对象终结原则
传递性:A先于B,B先行于C,那么A先行于C;

注意:这里的先行和时间上先行是两码事;

参考《深入理解java虚拟机》

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/523963
推荐阅读
相关标签
  

闽ICP备14008679号