このanswerからCallable
とRunnable
の唯一の違いは、前者が実行結果を返して例外をスローできるということです。ExecutorインターフェイスにCallableをパラメータとして使用するメソッドがない理由を教えてください。
Executor
がCallable
取るメソッド定義していない理由を私は理解していない:私の視点から
void execute(Callable command);
を、Runnable
とCallable
の両方のためのメソッドを作成することが論理的だろう。 Executor
のサブインターフェイスであるExecutorService
には、Runnable
とCallable
の両方について同様のsubmit()
の方法があります。
私はインターネット上で何かの説明を見つけることができないので、この設計の決定について説明してください。
本当に知りたいのであれば、公開フォーラムでこれを聞いてはいけませんが、実際にそれを設計した人 – Stultuske