スレッドを作成する3つ目の方法:Callableインタフェース

1070 ワード

スレッドを作成するには、Threadクラスの継承とRunnableインタフェースの実装がよく使われていると信じています.今日は3つ目の方法、CallableインタフェースとFutureを勉強してスレッドを作成します.CallableはRunnableインタフェースに似ていますが、CallableはRunnableよりも機能的で、戻り値があり、スレッドが実行されると戻り値がFutrueに取得されます.CallableはFutrueTaskに依存して結果を受信する必要があり、FutureTaskはFutureインタフェースの実装クラスである.
実装について簡単なコードで説明します.
class Demo implements Callable{
@Override
//  call  
	public Integer call() throws Exception {
		// TODO Auto-generated method stub
		int sum=0;
		for(int i=0;i<=100;i++) {
			sum+=i;
		}
		return sum;
	}
}
public static void main(String[] args){
		Demo demo=new Demo();
		//1.  Callable  ,  FutureTask      ,        
        FutureTask result = new FutureTask(demo);	
        new Thread(result).start();
      //2.          
        try {
        	Integer sum=result.get();//FutureTask     
        	System.out.println(sum);			
		} catch (Exception e) {
			// TODO: handle exception
		}
		
	}

コードソースhttps://blog.csdn.net/binggetong/article/details/81604283