FutureTask實現先執行任務,後獲取結果

2021-08-20 14:22:15 字數 795 閱讀 2153

1、實現callable介面來建立執行緒的方式,可以拿到執行緒執行結果,結果包含正常執行完成返回的結果,或者發生異常時丟擲的異常資訊。callable與runnable的主要差異就是runnable的run方法沒有返回值,且不丟擲異常,callable的call方法有返回值且可以丟擲異常。

2、future介面中定義了get方法,用來獲取執行緒執行結果的返回值;runnablefuture介面繼承了future和runnable,futuretask實現了runnablefuture介面,runnablefuture有入參為callable型別的構造方法,使用get方法可以獲取執行結果。

4、**如下:

public class preloader 

private final futuretaskfuture =

new futuretask(new callable()

});private final thread thread = new

thread(future)

;public void

start()

public productinfo get()

throws dataloadexception, interruptedexception catch (executionexception e)

}inte***ce productinfo

}class dataloadexception extends exception

public class launderthrowable 

}

FutureTask詳解以及實現

我們先來看一下futuretask的實現 publicclassfuturetaskimplementsrunnablefuture futuretask類實現了runnablefuture介面,我們看一下runnablefuture介面的實現 publicinte cerunnablefuture...

href比onclick先執行

如果a標籤同時有href和onclick,那麼onclick先執行,然後在通過href跳轉 但是有些情況需要讓href先執行,在執行onclick,比如onclick中函式依賴於跳轉後的window.location.href。如果href和onclick是分開的,他們的執行順序是沒有辦法改變的。於...

C 迴圈語句 先判斷後執行 while迴圈

while迴圈是乙個標準的迴圈語句,先判斷是否迴圈,如果滿足條件就執行迴圈,不滿足就跳出迴圈,執行迴圈體外的語句。語法如下 while 條件表示式 using system class sample console.writeline 從0到100的和是 sum 上面的程式是先判斷while條件是否...