Java並發編程實踐讀書筆記(3)任務執行

來源:互聯網
上載者:User

標籤:編程實踐   .com   html   new t   時間   服務   ima   ice   線程池   

 類似於Web伺服器這種多任務情況時,不可能只用一個線程來對外提供服務。這樣效率和輸送量都太低。

但是也不能來一個請求就建立一個線程,因為建立線程的成本很高,系統能建立的線程數量是有限的。

於是Executor就出現 了。

Executor架構線程池的意義

線程建立太少了浪費伺服器資源,另外線程建立多了又搞得伺服器很累。兩個極端的結果都是對外的輸送量上不去。

所以線程是需要統一管理的,不能隨便new Thread().start()。

Executor提供了四種線程池。

 

ExecutorService管理功能

包括:關閉和強制關閉、是否關閉、是否中斷、等待中斷、提交任務、批量提交任務。

 

找出可利用的並行性

多個任務如果可以並行那最好就讓它並行:

通常,執行時間相差很大的異構任務的並行沒有意義,執行時間受限於執行時間最長的那個任務:

這種情況,要考慮的是把taskA給分解了。

ExecutorCompletionService可以批量提交任務並擷取執行結果;

 

Java並發編程實踐讀書筆記(3)任務執行

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.