关于volatile的一段描述

来源:3-5 线程安全性-有序性与总结

weixin_慕数据7074580

2020-10-30

老师,您好。“当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序”,这句话的意思是不是指:只要是共享变量,就会禁止重排序?

写回答

1回答

Jimin

2020-10-31

你好,不是的,他这个共享不是我们说的共享变量,而是当前运行线程和内存共享,运行时读取这个变量直接读取内存,而不是读的当前cpu复制的值,这种情况下也是禁止重排序的,整个这些都是volatile这个关键字的效果,而不是共享变量

0
0

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程