volatile关键词学习笔记
volatile:翻译过来是不稳定的。
volatile具有可见性,有序性,但是不具有原子性。
所以在需要原子操作的时候,volatile就会读脏数据。
被volatile修饰的变量在每一次调用的时候都会从内存中去读取到当前寄存器中,如果有线程修改了它,也会实时的同步到内存中,
并通知其它使用该变量的线程该变量已失效,再去内存中重新获取。
很多时候会觉得volatile用不用好像没什么区别,其实大多数情况下是不需要用它的,
一般在多线程下初始化某个参数的时候需要其它线程可见情况下用到(这是我们需要了解的,其它运用场景一般都使用别的加锁机制了。。)
浙公网安备 33010602011771号