volatile 的作用是什么?能保证原子性吗?能保证有序性吗?

简介: volatile 的作用是什么?能保证原子性吗?能保证有序性吗?

(1)volatile 保证了不同线程之间对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。Volatile 关键字会强制将修改的值立即写入主存。

(2)禁止进行指令重排序。

2.Volatile 不能保证原子性。

3. 保证部分有序性

使用 Volatile 一般用于 状态标记量 和 单例模式的双检锁

相关文章
|
26天前
|
缓存 安全 Java
多线程的三大特性:原子性、可见性和有序性
多线程的三大特性:原子性、可见性和有序性
23 0
|
5月前
|
Java
8.volatile为啥不能保证原子性?
8.volatile为啥不能保证原子性?
33 0
8.volatile为啥不能保证原子性?
|
5月前
|
缓存 安全 Java
5.volatile是什么?怎么保证可见性?
5.volatile是什么?怎么保证可见性?
42 0
5.volatile是什么?怎么保证可见性?
|
5月前
|
安全 Java
7.volatile怎么通过内存屏障保证可见性和有序性?
7.volatile怎么通过内存屏障保证可见性和有序性?
30 0
7.volatile怎么通过内存屏障保证可见性和有序性?
|
5月前
|
缓存 Java
13.synchronized总结:怎么保证可见性、有序性、原子性?
13.synchronized总结:怎么保证可见性、有序性、原子性?
42 0
13.synchronized总结:怎么保证可见性、有序性、原子性?
|
5月前
|
缓存 安全 Java
3.线程安全之可见性、有序性、原子性是什么?
3.线程安全之可见性、有序性、原子性是什么?
44 0
3.线程安全之可见性、有序性、原子性是什么?
|
7月前
|
Java 编译器 程序员
JMM的内存可见性保证
JMM的内存可见性保证
28 0
|
9月前
|
安全 Java
架构系列——面试必问:volatile的可见性、防止指令重排序以及不能保证原子性的解决方式
架构系列——面试必问:volatile的可见性、防止指令重排序以及不能保证原子性的解决方式
|
12月前
|
存储 缓存 安全
并发三要素 : 可见性, 原子性, 有序性
并发三要素:可见性, 原子性, 有序性,并发问题该怎样解决,怎样实现数据同步,这篇文章为您解决
66 0
|
算法 Java 编译器
线程安全性详解(原子性、可见性、有序性)()2
线程安全性详解(原子性、可见性、有序性)
169 0
线程安全性详解(原子性、可见性、有序性)()2