java子线程持续执行_ExecutorService怎样不用shutdown,awaitTermination实现主线程等待所有子线程完成再继续执行...

ExecutorService es = Executors.newFixedThreadPool(THREADPOOLSIZE+1);

while(true){

long startTime2 = System.currentTimeMillis();

numIids = getIds(batchId, LIMITSIZE);

if (numIids == null || numIids.isEmpty()) {

break;

}

int i = 0;

int batchSize = numIids.size() / THREADPOOLSIZE;

if (numIids.size() > THREADPOOLSIZE) {

for (i = 0; i < THREADPOOLSIZE; i++) {

List subList = numIids.subList(i * batchSize, ((i + 1) * batchSize));

es.submit(() -> {

try {

compute(batchId, subList);

} catch (Exception e) {

e.printStackTrace();

}

});

}

}

if (i * batchSize < numIids.size()) {

List subList = numIids.subList(i * batchSize, numIids.size());

es.submit(() -> {

try {

compute(batchId, subList);

} catch (Exception e) {

e.printStackTrace();

}

});

}

我想在这里实现等待上面所有子线程完成所有任务,然后向下执行(不关闭线程池中的线程,让这些线程重复使用)

}

es.shutdown();

awaitTerminationQuietly(es);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值