1

我需要知道我所有的线程什么时候完成了他们的工作,但是future.get(); 停止所有其他活动,直到线程完成。那么有没有其他方法可以确定所有线程是否已完成?

4

3 回答 3

2

我会添加一个等待所有期货的任务。这样你的主线程就不会被阻塞等待结果。

一个问题isDone是,如果任务被取消,它可能会返回 false。

于 2012-07-25T09:58:33.470 回答
2

您也可以使用该Future.isDone方法。你可以轮询那些。

于 2012-07-25T09:57:19.550 回答
2

你可以调用future.isDone()看看future是否已经完成,没有阻塞。

于 2012-07-25T09:57:39.760 回答