Java——volatile变量的作用

volatile保证共享变量的内存可见性:

volatile修饰了一个成员变量后,这个变量的读写就会比普通变量多一些步骤。

当被volatile修饰的变量进行写操作时,这个变量将会被直接写入共享内存,而非线程的专属存储空间。

当读取一个被volatile修饰的变量时,会直接从共享内存中读,而非线程专属的存储空间中读。

通过对volatile变量读写的限制,就能保证线程每次读到的都是最新的值,从而确保了该变量的内存可见性。

volatile是一个特殊的修饰符,只有成员变量才能使用它。在Java并发程序缺少同步类的情况下,多线程对成员变量的操作对其它线程是透明的。volatile变量可以保证下一个读取操作会在前一个写操作之后发生。

volatile的使用:

public volatile boolean flag;

参考:https://www.cnblogs.com/kexianting/p/8504236.html

你可能感兴趣的:(Java——volatile变量的作用)