Javaは、三つの方法でねじ山を作成:呼び出し可能インターフェースを実現するために



java.util.concurrent.Callableインポート、
インポートjava.util.concurrent.ExecutionException;
インポートjava.util.concurrent.FutureTask;

/ **
*スレッドに3つの方法を作成します。呼び出し可能インターフェースを実装します。--- JDK 5.0を追加
*
*
*どのように達成されるよりも強力な作成するために、マルチスレッド、マルチスレッド、Runnableインタフェースを作成するために、呼び出し可能インターフェースを達成する方法を理解するには?
* 1。()の呼び出しは値を返すことができます。
* 2.コール()、キャプチャ動作の外にあること、情報の異常へのアクセスを例外をスローすることができ
、一般的な3コーラブルサポート*
*
* /
// 1.実装呼び出し可能という実装クラスを作成し
、クラスが実装するコーラブルを{NumThread
/ / 2は、メソッド呼び出しを達成するために、この操作は呼び出しスレッド()を実行することが宣言されている
@Override
)(パブリックオブジェクト呼び出しスロー例外{
int型SUM = 0;
のための(INT I = 1; I <= 100; I ++){
IF(I%2 == 0) {
System.out.println(I);
SUM = I +;
}
}
戻りSUM;
}
}


publicクラスThreadNew {
パブリック静的無効メイン(文字列[] args){
.. 3 //呼び出し可能インタフェースクラスオブジェクトを作成
NumThread numThread = numThread新しい新しい();
。。FutureTaskとして//この4呼び出し可能オブジェクトクラスインターフェースは、コンストラクタに渡され、FutureTaskオブジェクトを作成
FutureTask FutureTask =新しい新しいFutureTask(numThread);
.. 5 // FutureTaskに引数として渡されたオブジェクトThreadクラスのコンストラクタは、Threadオブジェクトを作成し、[スタート]()を呼び出します
新しい新しいスレッド(FutureTask).startを();

試み{
。。コーラブルは、取得したコールの6 //戻り値
//取得する()は、値がFutureTaskで返します呼び出し()の戻り値に書き換え呼び出し可能な実装クラスのコンストラクタの引数。
オブジェクトの和= futureTask.get()。
System.out.println( "总和为:" +合計)。
}キャッチ(InterruptedExceptionある電子){
e.printStackTrace();
}キャッチ(ExecutionException電子){
e.printStackTrace();
}
}

}

おすすめ

転載: www.cnblogs.com/wpy188/p/12099902.html