码迷,mamicode.com
首页 > 其他好文 > 详细

volatile 修饰符的有过什么实践?

时间:2020-07-05 21:33:41      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:分布式   mem   ali   bsp   部分   office   barrier   种类   font   

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

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

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

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

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

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

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

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

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

他所有写的值更新到缓存

volatile 修饰符的有过什么实践?

标签:分布式   mem   ali   bsp   部分   office   barrier   种类   font   

原文地址:https://www.cnblogs.com/programb/p/13019349.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!