网站如何做排名,怎么建设一个论坛网站,做网站是属火的职业吗,重庆市建设工程安全管理网站转载自 一个诡异的可见性问题 之前介绍过可见性的特性#xff0c;最近做测试的时候发现了一个很诡异的问题#xff0c;下面看看这三个例子。 test1#xff1a; test1这个例子加了volatile#xff0c;所以程序正确退出输出test1 end test2#xff1a; test2这…转载自 一个诡异的可见性问题 之前介绍过可见性的特性最近做测试的时候发现了一个很诡异的问题下面看看这三个例子。 test1 test1这个例子加了volatile所以程序正确退出输出test1 end test2 test2这个例子没有加volatile程序也正常退出并输出一堆0并输出了test2 end这是为什么呢没有加volatile为什么也有可见性看起来是很诡异的问题问题是在while里面加了一行System..输出问题打开源码看println方法里面加了synchronized同步块正是因为这个同步块保证了里面变量x的可见性这个诡异的问题也就解开了。 test3 test3这个例子即没加volatile也没有在while里面加System..输出语句所以线程对变量n3的修改对主线程不可见程序一直循环没有输出结果。