A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

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