zoukankan      html  css  js  c++  java
  • volatile 修饰符的有过什么实践?

    一种实践是用 volatile 修饰 long  double 变量使其能按原子类型来读写

    double  long 都是 64 位宽因此对这两种类型的读是分为两部分的第一次 

    读取第一个 32 然后再读剩下的 32 这个过程不是原子的 Java  

    volatile 型的 long  double 变量的读写是原子的。volatile 修复符的另一个 

    作用是提供内存屏障(memory barrier),例如在分布式框架中的应用简单的 

    就是当你写一个 volatile 变量之前,Java 内存模型会插入一个写屏障(write

    barrier),读一个 volatile 变量之前会插入一个读屏障(read barrier)。 

    思就是说在你写一个 volatile 域时能保证任何线程都能看到你写的值同时

    在写之前也能保证任何数值的更新对所有线程是可见的因为内存屏障会将其 

    他所有写的值更新到缓存

  • 相关阅读:
    现在SimpleMemory的CSS(by BNDong)
    I AK IOI
    最大半联通子图
    曾经SimpleMemory的CSS
    幼儿园战争
    炸掉卡西欧991CNX
    LuoguP1131选择客栈
    2019CSP-S2养成任务
    NOIP2013&NOIP2018&USACO 三倍经验铺路题巧妙解法
    NOIP2018D2T1 旅行
  • 原文地址:https://www.cnblogs.com/programb/p/13019349.html
Copyright © 2011-2022 走看看