等到所有线程在Java中完成工作

我正在编写一个具有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中完成工作 的全部内容, 来源链接: utcz.com/qa/403761.html

回到顶部