当num变量没有用volatile修饰的时候,电脑很忙,没有时间去同步num
/**
* volatile用于保证数据的同步,也就是可见性
* @author Jack
*
*/
public class VolatileTest {
private static int num = 0;
public static void main(String[] args) throws InterruptedException {
new Thread(new Runnable() {
@Override
public void run() {
while(num==0){//死循环
System.out.println("num=="+num);
}
}
}).start();
Thread.sleep(1000);
num=1;
}
加一个volatile修饰符即可