photo credit: Juan Antonio Capó ExecutorServiceを使うと簡単にマルチスレッド処理が行えますが、 終了もshutdownメソッドを呼ぶだけと思っていませんか? shutdownメソッドだけだと不十分です。 学校の先生と生徒の関係で説明します。 shutdownメソッドは指示するだけ 学校で先生が生徒に対して、「問題が解けたら教えてねー」と言います。 生徒は問題が解けた人から「先生できたー!!」と言ってきます。 全員問題が解けた段階で授業が終わるとしましょう。 対応はこう。 先生: ExecutorService 生徒: ExecutorService内のスレッド 問題: ExecutorService.executeに渡すタスク(Runnable) 授業: mainスレッド 学校: Javaプロセス 「問題が解けたら教えてねー」