线程之间的内存可见性,当一个线程修改了共享变量时,另一个线程可以读取到这个修改后的值。
当一个线程对 volatile 修饰的变量进行写操作(步骤2)时,JMM会立即把该线程对应的本地内存中的共享变量刷新到主内存;
2.当一个线程对 volatile 修饰的变量进行读操作(如步骤3)时,JMM会立即将当前线程对应的本地内存设置为无效,从主内存中读取共享变量的值。