1. 類似点
どちらもインターフェイスです
どちらもスレッドを開始するには Thread.start を呼び出す必要があります
2 、相違点
callable の中心は、戻り値を許可する call() メソッドです。runnable の中心は、戻り値を持たない run() メソッドです。
呼び出し() メソッドは例外をスローできますが、run() メソッドは機能しません
callable と runnable の両方をエグゼキューターに適用できます。スレッド クラスは runnable のみをサポートします
3、インスタンス
実行可能および呼び出し可能なインターフェース定義
@FunctionalInterface public interface Runnable { /** * When an object implementing interface <code>Runnable</code> is used * to create a thread, starting the thread causes the object's * <code>run</code> method to be called in that separately executing * thread. * <p> * The general contract of the method <code>run</code> is that it may * take any action whatsoever. * * @see java.lang.Thread#run() */ public abstract void run(); }
@FunctionalInterface public interface Callable<V> { /** * Computes a result, or throws an exception if unable to do so. * * @return computed result * @throws Exception if unable to compute a result */ V call() throws Exception; }
以上がJava の実行可能と呼び出し可能の比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。