多執行緒——Future,Runnable,Callable,FutureTask
阿新 • • 發佈:2018-12-27
Runnable介面是常規的執行緒介面,執行緒執行的業務邏輯主體放在 其void Run()方法裡面,繼承此介面實現此方法。
Callable介面也是一個常規介面,執行緒執行的業務邏輯主體放在 其v Call()方法裡面,只不過這個方法有返回值V(泛型),也可以丟擲異常,
FutureTask 實現了RunnableFuture介面,而RunnableFuture又繼承了Runnable 和Future介面,FutureTask可以直接將實現了Runnable和Callable介面的物件封裝成FutureTask物件。從而呼叫FutureTask物件的方法。
Future介面內容如下主要是對具體的Runnable或者Callable物件任務執行的結果進行獲取(get()),取消(cancel()),判斷是否完成等操作
- public interface Future<V> {
- boolean cancel(boolean mayInterruptIfRunning);
- boolean isCancelled();
- boolean isDone();
- V get() throws
- V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException;
- }