问题引出:
今天在看volatile的时候,自己写了个例子,
发现即使没有volatile,我程序也照常跑了
描述
首先看看这个情况的描述
第一个代码是有关何时以及如何使用volatile的示例,熟悉volatile的一定知道,为了使程序成功运行,我们需要添加volatile。
第二个代码表示,即使没有volatile,该程序情景仍然可以成功运行。
第一段代码, 经典的volatile使用案例
public static int num=1;
public static class MyThread extends Thread {
// flag
private boolean flag = false ;
public boolean isFlag() {
return flag;}
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace(