有什么作用?"/>
Volatile 可以保证什么特性?有什么作用?
Volatile 可以保证什么特性?有什么作用?
可以保证可见性,有序性,禁止指令重排序。但是不能保证原子性。线程上下文切换的时候,还是有可能出现线程安全问题。
cpu 都是把数据从内存拉取到自己的缓存中进行运算,然后在写回内存的。每个cpu 核心都有自己独立的缓存。所以就造成了,多核并发的场景下,数据可能被 A 线程修改了,但是其他线程不知道,cpu 核心还在使用缓存中旧的数据。
Volatile 就是来解决这个缓存一致性问题的。
有序性,就是所谓的禁止指令重排序。
更多推荐
Volatile 可以保证什么特性?有什么作用?
发布评论