线程中system.out.println( );与while(true)的问题

 我今天在写代码的时候遇到一个很奇怪的问题。

//大致代码

void  run( ){

  while(true){

//system.out.print( " ...");//但注释掉这句话,线程即使 size!=0,也不会执行里面的句子。

if(list.size()!=0){//一个集合,我在其它线程添加数据使size!=0,

.........

}

}

}

百度后,才知道,是 原子操作的问题,要使if()中的变量为volatile属性,即时刷新,

具体原因我也不太清除,只是把问题列出来,

Java的有些问题,真是,让人觉得匪夷所思。

猜你喜欢

转载自blog.csdn.net/qq_38966984/article/details/79876809