Java の Future クラスを使用してタスクを実行していますが、タスクが完了すると isDone メソッドは true を返します。完了は、正常終了、例外、またはキャンセルが原因である可能性があります。これらすべての場合において、このメソッドは true を返します。
例外が原因で終了したのか、正常に終了したのかを知る方法はありますか?
Future.get() メソッドを呼び出すと、次の 4 つの結果が考えられます。
単純に値の取得を試みることができますget
。メソッドは例外をスローするか、値を返します。
コードで使用しましたが、タスクが本当に正常に完了したかどうかを確認できる唯一の方法は、get() を使用することです。