java併發編程實戰------閱讀筆記第六章結構化併發應用程序---任務執行

1、在線程中執行任務 1.1 串行執行任務:例如手寫一個串行執行的web服務器程序,串行接收請求。 1.2 顯式爲任務建立線程:每一個任務一個線程會消耗大量資源 1.3 無限制建立線程的不足:線程生命週期開銷大,資源消耗,穩定性差web

2、Executor框架,線程池 1.1 以下方法能夠建立不一樣線程池:newFixedThreadPool,newCachedThreadPool,newSingleThreadExecutor,newScheduledThreadPool 1.2 Executor生命週期:ExecutorService擴展了Executor提供了一些生命週期管理的方法,shutdown(),shutdownNow(),isShutdown(),isTerminated(),awaitTermination(long timeout, TimeUnit unit),有三種狀態:運行,關閉,已中止。 1.3 延遲任務與週期任務:ScheduledThreadPool,Timer類基於絕對時間而不是相對時間調度任務;Timer在執行全部定時任務時只會建立一個線程,任務執行時間不可控時會破壞其餘任務的定時精確性;Timer拋出未檢查異常時並不捕獲異常,也不會恢復線程執行,而是認爲整個Timer已被取消,已被調度但未執行的任務將不會執行,新任務也不能調度。服務器

3、找出可利用的並行性框架

  1. 攜帶結果的任務Callable和Future
相關文章
相關標籤/搜索