ScheduledExecutorService pool = new ScheduledThreadPoolExecutor(10,new BasicThreadFactory.Builder().namingPattern("example-schedule-pool-%d").daemon(true).build());
CountDownLatch cdl = new CountDownLatch(list.size());
for (int i = 0; i < list.size(); i++) {
final int j = i;
Runnable run = new Runnable() {
@SneakyThrows
@Override
public void run() {
if (需要跳出) {
//计数器递减 退出
cdl.countDown();
return;
}
//主业务
System.out.println();
//计数器递减
cdl.countDown();
}
};
//执行线程
pool.execute(run);
}
//线程执行完后再执行主线程
cdl.await();
//继续跑主线程
System.out.println();
线程池执行for循环
最新推荐文章于 2024-05-09 16:40:00 发布
关键词由CSDN通过智能技术生成