比如,主線程建立執行緒池,提交n個任務,想讓主線程在任務全部結束之後再繼續做其他的事情。
public static void main(string args) );
}system.out.println("呼叫shutdown()方法時,result的值為:" + result.get());
executor.shutdown();
try catch (interruptedexception e)
system.out.println("計算完成,result的值為:" + result.get() + ",可以繼續處理其他事情了");
}
public static void main(string args) );
}system.out.println("呼叫shutdown()方法時,result的值為:" + result.get());
executor.shutdown();
try catch (interruptedexception e)
system.out.println("計算完成,result的值為:" + result.get() + ",可以繼續處理其他事情了");
}
適用於知道任務的數量,因為countdownlatch在建立時就要指定其大小,並且不能重新初始化。
//todo:countdownlatch是否會禁止指令重排序?(從官方的例子看,會!有待研究)
public void example() catch (interruptedexception e1)
}class workerrunnable implements runnable
public void run()
void dowork(int i)
}
//todo 實現多執行緒的幾種方法
一。通過繼承thread類實現多執行緒 繼承thread類,並覆蓋父類的run 方法。如下例子 public class mythread extends thread override public void run 二。通過實現runnable介面實現多執行緒 實現runnable介面,並實現父...
多執行緒 一 建立執行緒的幾種方法
一般有兩種建立runnable例項的方法 1 實現runnable介面,實現裡面的run方法,扔個thread類,然後start 2 也可以建立futuretask類的例項,因為futuretask實現了runnablefuture介面 繼承自runnable介面 futuretask建構函式中這裡...
iOS 建立多執行緒的幾種方法
nsthread 多執行緒方式1 例項方法 nsthread thread1 nsthread alloc initwithtarget self selector selector threadaction1 object nil 啟動執行緒 需要啟動執行緒 thread1 start 多執行緒方...