请教一个多线程可见问题

请教一个多线程可见问题

 

这个测试是做一个volatile的可见性

按照我的理解,num常量没有被volatile修饰。Thread1线程修改了num常量的值,main线程读取的num常量应该一直是0;

但是我的运行结果是

请教一个多线程可见问题

main线程可以见到Thread1线程修改后的num。

带着疑问,在其他电脑上运行是结果相反证明了不可见的。这是什么原因呢?求个大佬解答一下。

我的电脑配置为

请教一个多线程可见问题