実行三つの方法のスレッドを作成します。呼び出し可能インターフェースを実現するために

呼び出し可能インターフェース

①のJava 5.0は、java.util.concurrentの実行のスレッドを作成するための新しい方法を提供する:呼び出し可能インタフェース
②呼び出し可能インタフェースが別のスレッド設計によって実行することができるそれらのクラスの例であり、どちらもRunnableを、同様です。

     実行可能が、結果を返さない、とあなたはチェック例外をスローすることはできません。
③呼び出し可能にも使用することができ、ラッチFutureTask、FutureTaskを頼ります

TestCallable

用パッケージ変更com.aff.juc; 

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

/ * 1は、実行の三方スレッドを作成します方法Runableインターフェイスと比較呼び出し可能インタフェースを実装する
      方法そこに値を返すことがあり、例外を実行することがあります。
   2.ファイル名を指定して実行呼び出し可能インターフェースモードは、演算結果を受信するために、サポートFutureTaskクラスを達成するために必要です。
      将来の実装クラスがFutureTaskインタフェースである
   
* / 
パブリック クラスTestCallable {
     公共 静的 ボイドメイン(文字列[]引数){ 
        ThreadDemo4 TD4 = 新しい新しいThreadDemo4();
         // 1呼び出し可能実行モードは、コンピューティング受信するために、FutureTaskクラスのサポートを達成するために必要ですその結果 
        、A FutureTask、<整数> =つながる新しい新しい A FutureTaskを、<>(TD4)。
        新しいスレッド(結果).start();
        // 2.接收线程运算后的结果
        試みる{ 
            整数の和 = result.get()。
            System.out.println(合計)。
            System.out.println( "-----------" ); 
        } キャッチ(例外e){ 
            e.printStackTrace(); 
        } 
    } 
} 

/ * 
 *クラスThreadDemo3実装Runnableを{ 
 * 
 * @Override公共ボイドラン(){}} 
 * / 

クラス ThreadDemo4 実装呼び出し可能<整数> { 

    @Override
    公共の整数コールは()スロー例外{
         int型の和= 0 以下のためにINT I = 0; I <100; I ++ ){ 
            のSystem.out.println(I)。
            合計 + = I; 
        } 
        戻り値の和。
    } 
}

 

おすすめ

転載: www.cnblogs.com/afangfang/p/12631477.html