场景是这样的: 后台启动了10个线程,然后把线程的名字放到了list里面,这10个线程会去处理数据,线程处理完,list会把完成的线程名字删掉,最后结果是list的size变成0。现在的业务逻辑是,主类里先调用10个线程去处理数据,数据处理完成后继续执行主线程后面的代码,所以在线程启动后我加了如下代码:
while(true){
System.out.println("多线程结束~");
if(tm.getThreadList().size()==0){
break;
}
}
如果不加System.out.println("多线程结束~" );这行,最后会卡在while这里不往下走,加上后就能正常往下执行,求解答,为什么会这样?
|
|