質問: javaのrunnableインターフェイスとcallableインターフェイスの違い javaで並行スレッドを設計するときにrunnableインターフェースとcallableインターフェースを使用することの違いは何ですか?なぜ、どちらを選択するのですか?
回答: すでに述べたように、callableは比較的新しいインターフェースであり、並行処理パッケージの一部として導入されました。 callableとrunnableはどちらもexecutorで使用できます。 threadクラス(runnable自体を実装する)は、runnableのみをサポートします。runnableをエクゼキュータと共に使用することはできます。 callableの利点は、実行プログラムに送信してすぐに元に戻すことができるということです。これは、実行が完了すると更新されます。同じことがrunnableで実装されるかもしれません、しかしこの場合あなたは結果をあなた自身で管理しなければなりません。たとえば、すべての結果を保持する結果キューを作成できます。他のスレッドはこのキューで待機し、到着した結果を処理できます。