volatile这个关键字是怎么做到可见性和有序性的?

提问者:帅平 问题分类:面试刷题
volatile这个关键字是怎么做到可见性和有序性的?
1 个回答
你我这辈子最的依靠
你我这辈子最的依靠
Java内存模型为了实现volatile有序性和可见性,定义了4种内存屏障的「规范」,分别是LoadLoad/LoadStore/StoreLoad/StoreStore
回到volatile上,说白了,就是在volatile「前后」加上「内存屏障」,使得编译器和CPU无法进行重排序,致使有序,并且写volatile变量对其他线程可见。
发布于:1年前 (2023-03-16) IP属地:四川省
我来回答