RunnableとCallableの違いは何ですか
What Is Difference Between Runnable
同じ点:
- すべてのインターフェースですか
- マルチスレッドプログラムを作成できます
- どちらもThread.start()を使用してスレッドを開始します
差:
- Runnableインターフェイスのrunメソッドには戻り値がなく、Callableインターフェイスのcallメソッドにはジェネリック型の戻り値があります。
注:Callableインターフェースは、実行結果の返送をサポートしています。取得するには、** FutureTask.get()**を呼び出す必要があります。このメソッドは、メインプロセスの実行の継続をブロックします。あなたがそれを呼び出さない場合、それはブロックされません:
- Runnableインターフェイスのrunメソッドは、ランタイム例外をスローすることしかできず、キャプチャして処理することはできません。 Callableインターフェイスのcallメソッドを使用すると、例外をスローでき、例外情報を取得できます。