学分高考 大数据

volatile原理

发布时间: 2022-03-03 17:00:50

精选答案

volatile是轻量级的synchronized,在多线程并发编程中发挥着同步共享变量、禁止处理器重排序的重要作用。

Java中的volatile关键字保证多线程操作时变量的可见性,如果一个变量被volatile所修饰,在每次数据变化之后,其值都会被强制刷入主存。而其他处理器的缓存由于遵守了缓存一致性协议,也会把这个变量的值从主存加载到自己的缓存中。这就保证了一个volatile在并发编程中,其值在多个缓存中是可见的。

volatile除了可以保证数据的可见性之外,还可以禁止指令重排优化等。被volatile修饰的变量的操作,会严格按照代码顺序执行,load->add->save 的执行顺序就是:load、add、save。

其他答案

线程写 volaitle 变量的步骤为:

改变线程工作内存中 volatile 变量副本的值

将改变后的副本的值从工作内存刷新到主内存

温馨提示:
本文【volatile原理】由作者教培参考提供。该文观点仅代表作者本人,学分高考系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 学分高考 All Rights Reserved 版权所有. 湘ICP备17021685号