AtomicXXX类可以保证可见性吗?请写一个程序来证明
static AtomicBoolean flag1 = new AtomicBoolean(true);
static volatile boolean flag2 = true;
static boolean flag3 = true;
public static void main(String[] args) {
// 线程一
new Thread(()->{
String t = Thread.currentThread().getName();
System.out.printf("线程启动 %s %n",t);
while (flag1.get())
{
}
System.out.printf("线程:%s 结束了%n",t);
},"t1").start();
// main 线程
try {
TimeUnit.SECONDS.sleep(3);
flag1.set(false);
System.out.println("线程设置了flag2=false");
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
执行结果
得出结论是!