まず、スレッド(1)に基づいて、スレッド間で共有とコラボレーション

スレッド達成する方法
1スレッドクラスの継承単一継承、継承のスレッドクラスは、あなたが他のクラスから継承することはできません
2実行可能なインターフェイスは、戻り値複数のインタフェースを実装することができます実装する
スレッドFutureTaskパッケージでスレッドを作成するための3実現呼び出し可能インターフェースは、戻り値はありません

 

1つの パッケージcom.xiangxue.ch1。
2  
3  インポートjava.util.concurrent.Callable。
4  インポートjava.util.concurrent.ExecutionException。
5  インポートjava.util.concurrent.FutureTask。
6  
7  パブリック クラスNewThread {
 8      / ** 
9       *扩展自スレッド类
 10       * @param 引数
 11       * / 
12      プライベート 静的 クラス MyThreadが延びスレッド{
 13          公共 ボイドラン(){
 14             System.out.println(「私はスレッドを拡張しています」);
15          }
 16      }
 17      
18      / ** 
19       *实现Runnableを接口
 20       * @param 引数
 21       * / 
22      プライベート 静的 クラス UseRunが実装Runnableを{
 23          @Override
 24          公共 ボイドラン(){
 25              のSystem.out.printlnは(「私はRunnableをimpelments;」);
26          }
 27      }
 28      
29      / ** 
30      返回值有*实现呼び出し可能接口、
 31個の      *の@paramの引数
 32       * / 
33      プライベート 静的 クラス UseCallが実装呼び出し可能の<string> {
 34  
35          @Override
 36          パブリック文字列()の呼び出しがスロー例外{
 37              のSystem.out.println(「私はを呼び出し可能impelments;」);
38              リターン「CallResult」39          }
 40      }
 41      
42      
43      公共 静的 ボイドメイン(文字列[]引数)スローInterruptedExceptionある、ExecutionException {
 44          = MyThread myThread 新しいMyThreadは();
45          myThread.start()。
46          
47          UseRunラン= 新しいUseRun();
48          新しいスレッド(実行).start();
49          
50          UseCall useCall = 新しいUseCall();
51          FutureTask <ストリング> futureTask = 新しい FutureTask <> (useCall)。
52          新しいスレッド(futureTask).start();
53          のSystem.out.println(futureTask.get())。
54      }
 55  
56 }
打印信息
私はは拡張スレッド 私はimpelments Runnableをしていますが、 私は呼び出し可能impelmentsています。 CallResult

 

おすすめ

転載: www.cnblogs.com/acme6/p/11229314.html