Java併發編程實戰 第6章 任務執行

6.1 在線程中執行任務

在理想情況下,各個任務之間時相互獨立的:任務並不依賴於其他任務的狀態、結果、邊界效應。
應用程序性希望支持儘可能多的用戶,從而降低每個用戶的服務成本,而用戶則希望獲得儘快的響應。

6.1.1串行的執行任務

6.1.2 顯示地爲任務創建線程

只要請求到達的速率不超出服務器的處理能力。

6.1.3 無限制創建線程的不足

線程生命週期的開銷非常高
資源消耗
穩定性:線程數的限制值隨平臺不同,並受JVM啓動參數、Thread構造函數中棧大小、以及地層OS對線程的限制等。會拋出OOM等異常。

6.2 Excutor框架

任務是一組邏輯工作單元,而線程則是使任務異步執行的機制。
Excutor基於生產者-消費者,提供了一種標準方法將任務的提交過程與執行過程解耦開,並用Runnable表示任務,還提供了對生命週期的支持、統計信息、性能監視等。

6.2.1 例:基於Executor的web服務器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章