我需要知道我的所有线程何时完成了他们的工作,但是future.get();停止所有其他活动,直到线程完成。那么有没有其他方法可以找出所有线程是否已经完成?
答案 0 :(得分:2)
您也可以使用Future.isDone
方法。你可以轮询那些。
答案 1 :(得分:2)
您可以致电future.isDone()
来查看未来是否已完成,而不会阻止。
答案 2 :(得分:2)
我会添加一个等待所有未来的任务。这样就不会阻止主线程等待结果。
isDone
的问题是,如果任务被取消,它可以返回false。