java - 等到所有线程在java中完成它们的工作

标签 java multithreading wait

我正在编写一个应用程序,它有 5 个线程同时从 Web 获取一些信息并填充缓冲区类中的 5 个不同字段。
当所有线程完成工作时,我需要验证缓冲区数据并将其存储在数据库中。
我该怎么做(当所有线程完成工作时收到警报)?

最佳答案

我采用的方法是使用 ExecutorService管理线程池。

ExecutorService es = Executors.newCachedThreadPool();
for(int i=0;i<5;i++)
    es.execute(new Runnable() { /*  your task */ });
es.shutdown();
boolean finished = es.awaitTermination(1, TimeUnit.MINUTES);
// all tasks have finished or the time has been reached.

关于java - 等到所有线程在java中完成它们的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7939257/

相关文章:

c# - OO 设计建议 - toString

java - 如何从Java调用linux命令 "source FILE_NAME"?

使用 @PathParam 和 List 对象通过 Postman 进行 Java POST API 调用

c++ - C++如何允许在不过度使用CPU的情况下等待

jQuery - 等待背景图像加载然后显示元素

java - 在 Struts2 中,我没有在 success.jsp 页面上获取表单值

java - 循环屏障再利用?

java - 如何知道线程是 "waiting"的条件?

java - 我如何测量有多少线程正在执行一段代码?

java - AEM CQ 等待工作流完成