1. 程式人生 > >多執行緒——Future,Runnable,Callable,FutureTask

多執行緒——Future,Runnable,Callable,FutureTask

Runnable介面是常規的執行緒介面,執行緒執行的業務邏輯主體放在 其void Run()方法裡面,繼承此介面實現此方法。

Callable介面也是一個常規介面,執行緒執行的業務邏輯主體放在 其v Call()方法裡面,只不過這個方法有返回值V(泛型),也可以丟擲異常,

FutureTask 實現了RunnableFuture介面,而RunnableFuture又繼承了Runnable 和Future介面,FutureTask可以直接將實現了Runnable和Callable介面的物件封裝成FutureTask物件。從而呼叫FutureTask物件的方法。

Future介面內容如下主要是對具體的Runnable或者Callable物件任務執行的結果進行獲取(get()),取消(cancel()),判斷是否完成等操作

  1. public interface Future<V> {  
  2.     boolean cancel(boolean mayInterruptIfRunning);  
  3.     boolean isCancelled();  
  4.     boolean isDone();  
  5.     V get() throws
     InterruptedException, ExecutionException;  
  6.     V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException;