Callable インターフェースは Java5 から提供されています。このインターフェースは Runnable インターフェースの拡張版です。Callable インターフェースはスレッドとして call() メソッドを提供します。実行本体 call() メソッド 戻り値が存在する可能性があり、call() メソッドは例外をスローするように宣言できます。
boolean cancel(boolean may)
この Future で関連付けられた呼び出し可能なタスクをキャンセルしてみます。
V get()
呼び出しタスクの call() メソッドの戻り値を返します。このメソッドを呼び出すとスレッドがブロックされるため、戻り値を取得する前に子スレッドが終了するまで待つ必要があります。
V get(long timeout,TimeUnit単位)
Callタスクのcall()メソッドの戻り値を返します。このメソッドでは、timeout と Unit で指定した時間までプログラムをブロックできますが、指定した時間が経過しても戻り値がない場合は、TimeoutException 例外がスローされます。
boolean isCancelled()
呼び出し可能タスクが正常に完了する前にキャンセルされた場合は true を返します。
boolean isDone()
呼び出し可能なタスクが完了した場合は true を返します。
実行可能な実装手順:
Callable インターフェイスの実装クラスを作成し、call() メソッドを実装します。 ) このメソッドはスレッドの実行本体として機能し、call() メソッドには戻り値があります。
FutureTask クラスを使用して、Callable オブジェクトをラップします。
FutureTask オブジェクトを Thread オブジェクトのターゲットとして使用して、新しいスレッドを作成して開始します。
FutureTask オブジェクトの get() メソッドを有効にして、子スレッドの戻り値を取得します。
以上がJava で Callable インターフェイスを実装してスレッド クラスを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。