@Test
public void test() {
ExecutorService threadPool = Executors.newCachedThreadPool();
Future<String> future1 = threadPool.submit(new Callable<String>() {
@Override
public String call() throws Exception {
// TODO Auto-generated method stub
for (int i = 0; i < 100000; i++)
;
return null;
}
});
Future<String> future2 = threadPool.submit(new Callable<String>() {
@Override
public String call() throws Exception {
// TODO Auto-generated method stub
for (int i = 0; i < 100000; i++)
;
return null;
}
});
// 停止加入新线程
threadPool.shutdown();
// 当任务1和任务2都完成之后,才算完成.
while (!(future1.isDone() && future2.isDone())) {
System.out.println("f1:" + future1.isDone());
System.out.println("f2:" + future2.isDone());
}
System.out.println("work accomplished");
}java ThreadPool判断是否所有任务都完成的方法
最新推荐文章于 2023-12-09 22:41:57 发布
本文展示了一个使用Java中的ExecutorService线程池执行多个任务的例子,并通过Future来等待所有任务完成的方法。具体包括了创建线程池、提交任务并获取Future对象、以及使用isDone方法检查任务是否完成。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Stable-Diffusion-3.5
图片生成
Stable-Diffusion
Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率
170万+

被折叠的 条评论
为什么被折叠?



