zoukankan      html  css  js  c++  java
  • 先行发生原则Happens-before

    先行发生原则Happens-before
    int k = 1; //男人
    int j = k; //女人


    先行发生原则是Java内存模型中定义的两项操作之间的偏序关系,如果操作A先行发生于操作B,其实就是说在发生操作B之前,操作A所产生的影响能够被B观察到

    简单来说:执行顺序的控制,后续代码可以监控到之前代码的所有操作

    八大原则:
    1.程序次序规则:
    在一个线程内,按照代码的顺序,书写在前面的代码优先于发生书写在后面的代码

    2.管程锁定原则:
    一个unlock操作先行发生于后面对同一个锁的lock操作,注意是同一个锁

    3.volatile原则:
    对一个volatile变量的写操作先行发生于后面对该变量的读操作

    4.线程启动原则:
    Thread对象的start()方法优先于此线程的每一个动作

    5.线程终止原则:
    线程中所有的操作都优先发生于对此线程的终止

    6.线程中断原则
    对线程的interrupt()方法的调用先行发生于被中断线程的代码检测中断事件的发生 先中断再检测

    7.对象终结原则:
    一个对象的初始化(构造函数执行完毕)完成优先发生于它的finalize()方法的开始

    8.传递性:
    int a; //1
    int b; //2
    int c; //3

    如果操作A先行发生于操作B,操作B先行发生于操作C,那么就可以得出来操作A优先发生于操作C

  • 相关阅读:
    vbs下载文件
    变量名自动变化
    VBS获得随机数,截图函数
    VBS定时关闭的弹窗
    VBS操作剪切板
    手动关闭端口
    win7,xp通用的打开文件浏览对话框的方法
    QTP全选页面的复选框
    SVN的使用
    工作中用到的前端内容整理
  • 原文地址:https://www.cnblogs.com/liuying23/p/12594069.html
Copyright © 2011-2022 走看看