今回のテーマは「CallableとRunnableFuture」です。 CallableインターフェースはRunnableインターフェース同様マルチスレッドプログラムのためのインターフェースです。 マルチスレッドプログラムを作成する場合、Runnableインターフェースを実装し、Threadクラスのstartメソッドを実行するのが一般的でしょう。 しかし、Runnableインターフェースのrunメソッドには戻り値がない、例外をスローできないなどの制限がありました。 Callableインターフェースを実装するクラスはcallメソッドを実装する必要があります。 callメソッドは任意の戻り値を指定でき、例外をスローすることができます。 Callableを実行する方法はいくつかありますが、今回はおなじみのThreadクラスを使って実行してみたいと思います。 次のサンプルコードはファイルを読