前回の記事では、ExecutorServiceのinvokeAllメソッドを使って、あらかじめ用意していたジョブを、一度に並行処理させました。 invokeAllメソッドを使用した場合、引数に渡したジョブが全て終了するまでinvokeAllメソッドの呼び出し元のスレッドは待機されます。しかしこの動作だと、例えばWait画面のアニメーション処理など、メインのスレッドを待機せず続行したいという場合には使えません。 ExecutorServiceには上記の例のような場面にも対応できるように、submitというメソッドも用意されています。submitメソッドを使用すれば、メインのスレッドを待機させずに並行処理を行うことができます。 submitメソッドにはもうひとつ便利な機能があります。それは、「関数の実行結果(返り値)を後から参照する」という機能です。 ちょっと分かりづらいと思うので、サンプルプ