美文网首页
并发--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