先来看一下volatile这个单词的本义:
直白一点,volatile就是表示某人或某物是不稳定的、易变的。。
volatile作为程序中常用的关键词之一,用以声明变量的值可能随时会被别的线程修改。
使用volatile修饰的变量会强制将修改的值立即写入主存,主存中的值更新会使缓存中值失效。
非volatile变量不具备这样的特性,非volatile变量的值会被缓存,线程A更新了这个值,线程B读取这个变量的值时可能读到的并不是线程A更新后的值。
先来看一下volatile这个单词的本义:
直白一点,volatile就是表示某人或某物是不稳定的、易变的。。
volatile作为程序中常用的关键词之一,用以声明变量的值可能随时会被别的线程修改。
使用volatile修饰的变量会强制将修改的值立即写入主存,主存中的值更新会使缓存中值失效。
非volatile变量不具备这样的特性,非volatile变量的值会被缓存,线程A更新了这个值,线程B读取这个变量的值时可能读到的并不是线程A更新后的值。