學習到如下幾種方法:
1、對於單個的執行緒,可以採用future.get()的方法,任務執行完畢後才能拿到結果。
2、對於多個執行緒,可以採用executor.awaittemination()的方法,偽**如下所示:
for(int i = 0;i < n;i++){
executor.execute(task(i));
executor.shutdown();
executor.awaittemination(long.max_value,timeunit.seconds);
3、可以採用閉鎖,製造閥門效應,偽**如下所示:
#主線程執行
countdonwlatch done = new countdownlatch(n);
for(int i = 0;i < n;i++){
executor.execute(task(i));
done.await();
#多執行緒任務中執行
dotask(i);
done.countdown();
多執行緒等待任務結束的幾種方法
比如,主線程建立執行緒池,提交n個任務,想讓主線程在任務全部結束之後再繼續做其他的事情。public static void main string args system.out.println 呼叫shutdown 方法時,result的值為 result.get executor.shutdo...
執行緒池 超時時間 等待執行緒池中的執行緒完成所有任務
建立乙個固定大小的執行緒池。shutdown 用於關閉啟動執行緒,如果不呼叫該語句,jvm不會關閉。awaittermination 用於等待子執行緒結束,再繼續執行下面的 該例中我設定一直等著子執行緒結束。isterminated當呼叫shutdown 方法後,並且所有提交的任務完成後返回為tru...
等待頁面某元素載入完成的方法
一 先在allocationcommon中寫個方法 等待頁面某元素載入完成 引數 type元素定位型別 by該型別對應的定位值 public static void load string type,string by else if id equals type else if name equa...