Java Volatile理解

Volatile修饰的变量,其存储方式与普通存储不一样,它是直接在主存内进行读写操作。

 

 

package mobai.others;
/**
 * volatile用于保证数据的同步  也就是可见性
 * @author MAIBENBEN
 *
 */
public class VolatileTest {
	private volatile static int num = 0;
	public static void main(String[] args) throws InterruptedException {
		new Thread(()-> {
			while(num==0) {//此处不写代码
				//正常情况下是死循环,但是num是被volatile修饰了,所以外部可以修改num的值且被获取,所以这里不是死循环
			}
		}).start();
	
		// 1秒后停止
		Thread.sleep(1000L);
		num=1;
	}
}

  

posted @ 2020-08-14 19:24  墨白95  阅读(133)  评论(0编辑  收藏  举报