Java并发编程实践读书笔记(3)任务执行
生活随笔
收集整理的這篇文章主要介紹了
Java并发编程实践读书笔记(3)任务执行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?類似于Web服務器這種多任務情況時,不可能只用一個線程來對外提供服務。這樣效率和吞吐量都太低。
但是也不能來一個請求就創建一個線程,因為創建線程的成本很高,系統能創建的線程數量是有限的。
于是Executor就出現?了。
Executor框架
線程池的意義
線程創建太少了浪費服務器資源,另外線程創建多了又搞得服務器很累。兩個極端的結果都是對外的吞吐量上不去。
所以線程是需要統一管理的,不能隨便new Thread().start()。
Executor提供了四種線程池。
?
ExecutorService管理功能
包括:關閉和強制關閉、是否關閉、是否中斷、等待中斷、提交任務、批量提交任務。
?
找出可利用的并行性
多個任務如果可以并行那最好就讓它并行:
通常,執行時間相差很大的異構任務的并行沒有意義,執行時間受限于執行時間最長的那個任務:
這種情況,要考慮的是把taskA給分解了。
ExecutorCompletionService可以批量提交任務并獲取執行結果;
?
轉載于:https://www.cnblogs.com/at0x7c00/p/8134663.html
總結
以上是生活随笔為你收集整理的Java并发编程实践读书笔记(3)任务执行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习进度条(第六周)
- 下一篇: beego07----web博客