淘先锋技术网

首页 1 2 3 4 5 6 7

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

//大致代码

void  run( ){

  while(true){

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

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

.........

}

}

}

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

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

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