美文网首页
并发--Happens-Before

并发--Happens-Before

作者: 简书徐小耳 | 来源:发表于2019-03-29 23:08 被阅读0次

happens-before的意义

  • 1.通过该规则避免了内存模型中所有的有序性都只靠volatile和synchronized完成
  • 2.对于happens-before JVM天生支持(因为JMM)

happens-before的规则

程序次序规则

  • 1.在一个线程内,按照代码顺序,卸载前面的操作现行于后面的操作(存在重排序,但是不影响程序正确性)

管程锁定规则

  • 1.一个unlock操作现行发生于后面对同一个锁的lock操作

volatile

  • 1.对一个volatile变量的写操作现行发生于后面对于这个变量的读操作

线程启动规则

  • 1.thread对象的start方法现行发生于此线程的每一个动作。

线程终止规则

  • 1.线程中的所有操作都先行发生于对此线程的终止检测。

线程中断规则

  • 1.对线程interrup方法的调用现行发生于被中断线程的代码检测到中断事件的发生。

对象终结规则

  • 1.对一个对象的初始化完成现行发生于它的finalize方法的开始。

传递性

  • 1.A操作现行发生于B操作,B操作先行发生于操作C,则A操作先行发生于操作C。

相关文章

网友评论

      本文标题:并发--Happens-Before

      本文链接:https://www.haomeiwen.com/subject/kmrzvqtx.html