1、每當看到下面這種**new thread(runnable).start()時,請考慮用executor
2、executor
1)建立方式:executors.new..
2)通過使用executor,可以實現各種調優、管理、監視、記錄日誌、錯誤報告
3)executor有4個生命週期:建立、提交、開始和完成
4)executorservice: extends executor,有三種狀態:執行、關閉、終止
5)支援限時的invokeall,將多個任務提到executorservice並獲得結果
3、timer: timer.schedule(runnable, timout)
1)timer在執行所有定時任務時只會建立乙個執行緒
2)timer執行緒並不捕獲異常,因此當timertask丟擲未檢查的異常時將終止定時執行緒
4、callable與future
1)runnable與callable描述的都是抽象的計算任務
2)future表示乙個任務的生命週期,
提供 cancel、iscancelled、isdone、get/get(timeout,timeunit)
callabletask = new callable()};
5、completionservice
completionservicecompletionservice = new executorcompletionservice(executor);completionservice.submit(callable)
completionservice.take()
java併發程式設計實戰 筆記 任務執行
excutor框架 excutor框架將任務的提交和執行分離開,任務提交會遍布到程式的各個地方,但執行策略的設定可以在乙個地方,如用執行緒池執行還是序列執行,執行緒池固定長度還是變長,所有顯示地使用new thread task 的地方都應該考慮下excutor框架 攜帶結果的任務callable和...
Java併發之任務執行
1 單個執行緒中序列地執行任務 缺點 伺服器的響應慢 吞吐量低 資源利用率低。i o阻塞 網路擁塞等問題造成 適合於任務數量很少且執行時間很長,或者當伺服器只為單個使用者提供服務而該使用者每次只發出乙個請求的情況。2 為每個請求建立乙個新的執行緒來提供服務 優點 帶來更快的響應性 將任務處理過程從主...
併發程式設計6 執行器
如果想開發伺服器應用,應該有大的吞吐量和快速的響應。這樣就要求伺服器段有清晰的任務邊界和任務執行策略。現在看乙個伺服器應用 public static void main string args throws ioexception 順序執行的,造成資源利用率低,吞吐量或響應速度都很低。來乙個多執行...