上次文章中有讲到多线程带来的原子性问题,并且就原子性问题讲解了synchronized锁的本质以及用法,今天我们就着前面的内容跟着讲解,同样,我们在讲解前一样通过一个DEMO来引出今天的主题-----可见性问题
public class Volatlle {
public static boolean stop=false;
public static void main(String[] args) throws InterruptedException {
Thread thread=new Thread(()->{
int i=0;
while (!stop){
i++;
//
System.out.println("结果:"+i);
//
try {
//
Thread.sleep(0);
//
} catch (InterruptedException e) {
//
e.printStackTrace();
//
}
}
System.out.println("结果:"+i);
});
thread.start();
Thread.sleep(1000);
stop=true;
}
}