呼び出し可能なパッケージ; / * スレッド三つの方法を作成します。達成呼び出し可能インターフェースは、 クラスが実装呼び出し可能な実装を作成1. 2.にメソッド呼び出しの実現を、このスレッドが操作を実行する必要があり、二次プロセスの中で宣言は 、オブジェクト呼び出し可能インターフェース・クラスを作成します。3. 4物体FutureTask作成し、AパラメータFutureTaskコンストラクタとしてこのオブジェクトを投げる 、スレッドオブジェクトを作成するために、オブジェクトコンストラクタとして5 FutureTaskスレッドオブジェクトをスタート() FutureTaskを使用し、6必要なメソッドの戻り値の場合を。取得するには()メソッドを取得 理解: 1.call()は値を返すことができます (2.call)を例外情報の取得するための手順をキャッチされ、例外をスローすることができます ジェネリック医薬品に3.Callableサポートを @author zsben @Create 2020から01午後2時31分-05 * / インポートjava.util.concurrent.Callable; インポートjava.util.concurrent.ExecutionException; インポートjava.util.concurrent.FutureTask; クラスNumThread実装呼び出し可能{ @Override 公衆オブジェクトの呼び出しは()例外{スロー int型の和= 0 ; 用(INTは iは= 2、I <= 100、I + =; 2 {) システム。アウト.println(I); 合計 + = I; } 戻り値の和。// 自动装箱了 } } パブリック クラスCallableTest { 公共 静的 ボイドメイン(文字列[]引数){ NumThread numThread = 新しいNumThread()。 FutureTask futureTask =新しい新しいFutureTask(numThread); 新しい新しいスレッド(FutureTask).start(); // FutureTask道具、Runnableインタフェース、スレッドはコールstart()を起動する 試みは{ // GET()値が呼び出し可能なコンストラクタパラメータFutureTaskオーバーライド実装クラスで返します。呼び出し()の値を返し 、オブジェクトSUM = FutureTaskを。GET (); 。システムOUTの.println(SUM); } キャッチ(InterruptedExceptionあるE){ e.printStackTrace(); } キャッチ(ExecutionException E){ e.printStackTrace() ; } } }
Javaの基礎 - スレッドを作成するために、呼び出し可能インターフェースを達成するために
おすすめ
転載: www.cnblogs.com/zsben991126/p/12153099.html
おすすめ
ランキング