1

すべてのスレッドがいつ作業を完了したかを知る必要がありますが、future.get(); スレッドが完了するまで、他のすべてのアクティビティを停止します。では、すべてのスレッドが完了したかどうかを確認する他の方法はありますか?

4

3 に答える 3

2

あなたはまたFuture.isDoneあなたの処分で方法を持っています。あなたはそれらをポーリングすることができます。

于 2012-07-25T09:57:19.550 に答える
2

future.isDone()ブロックせずに、将来が完了したかどうかを確認するために呼び出すことができます。

于 2012-07-25T09:57:39.760 に答える
2

すべての先物を待つタスクを追加します。このようにして、メインスレッドが結果を待ってブロックされることはありません。

の落とし穴isDoneは、タスクがキャンセルされた場合にfalseを返す可能性があることです。

于 2012-07-25T09:58:33.470 に答える