zoukankan      html  css  js  c++  java
  • volatile

    同步格言:如果你向一个变量写值,而这个变量接下来可能被另一个线程读取,或者你从一个变量读修值,而它的值可能是前面由另一个线程写入的,此时必须使用同步

    volatile用于修饰变量,它规定对其修饰变量的访问必须从内存中获取,从而确保变量的同步。

    *多处理器的计算机能够暂时在寄存器或本地内存缓冲区中保存内存中的值。这么做的结果就是在不同的处理器上运行的线程可能在同一地址上看到不同的值。

    *编译器能够改变指令执行的顺序以使吞吐量最大化。这中顺序上的变化不会改变代码的语义,但编译器假充只有在代码中存在显示的修改指令时,内存中的值才会发生变化。

      但是,内存的值可能在另外一个线程被修改。

    在下面三个条件下,对一个域的并行访问是安全的:

    *域是volatile的

    *域是final的,并且在构造器调用完成后访问的

    *对域的访问有锁保护的

  • 相关阅读:
    Handlebars模板引擎简单使用
    SpringMVC学习笔记001-服务器端获取JSON字符串并解析
    EL表达式的使用
    SpringMVC学习笔记001
    ExtJS学习之路碎碎念
    Microsoft Word 使用技巧总结
    驼峰命名法
    视图生命周期
    git命令
    git的使用1[转]
  • 原文地址:https://www.cnblogs.com/garfieldx/p/3503737.html
Copyright © 2011-2022 走看看