日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线程池的各种使用场景

發(fā)布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线程池的各种使用场景 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

(1)高并發(fā)、任務(wù)執(zhí)行時間短的業(yè)務(wù),線程池線程數(shù)可以設(shè)置為CPU核數(shù)+1,減少線程上下文的切換
(2)并發(fā)不高、任務(wù)執(zhí)行時間長的業(yè)務(wù)要區(qū)分開看:

? ? ? ?a)假如是業(yè)務(wù)時間長集中在IO操作上,也就是IO密集型的任務(wù),因為IO操作并不占用CPU,所以不要讓所有的CPU閑下來,可以加大線程池中的線程數(shù)目,讓CPU處理更多的業(yè)務(wù)
? ? ? ?b)假如是業(yè)務(wù)時間長集中在計算操作上,也就是計算密集型任務(wù),這個就沒辦法了,和(1)一樣吧,線程池中的線程數(shù)設(shè)置得少一些,減少線程上下文的切換
(3)并發(fā)高、業(yè)務(wù)執(zhí)行時間長,解決這種類型任務(wù)的關(guān)鍵不在于線程池而在于整體架構(gòu)的設(shè)計,看看這些業(yè)務(wù)里面某些數(shù)據(jù)是否能做緩存是第一步,增加服務(wù)器是第二步,至于線程池的設(shè)置,設(shè)置參考(2)。最后,業(yè)務(wù)執(zhí)行時間長的問題,也可能需要分析一下,看看能不能使用中間件對任務(wù)進(jìn)行拆分和解耦

?

如何來設(shè)置
? ? ?需要根據(jù)幾個值來決定
? ? ?? ? ?tasks :每秒的任務(wù)數(shù),假設(shè)為500~1000
? ? ?? ? ?taskcost:每個任務(wù)花費時間,假設(shè)為0.1s
? ? ?? ? ?responsetime:系統(tǒng)允許容忍的最大響應(yīng)時間,假設(shè)為1s
? ? ?做幾個計算
? ? ?? ? ?corePoolSize = 每秒需要多少個線程處理??
? ? ? ? ? ? ? ?threadcount = tasks/(1/taskcost) =tasks*taskcout = ?(500~1000)*0.1 = 50~100 個線程。corePoolSize設(shè)置應(yīng)該大于50
? ? ?? ? ?? ? ?根據(jù)8020原則,如果80%的每秒任務(wù)數(shù)小于800,那么corePoolSize設(shè)置為80即可
? ? ?? ? ?queueCapacity = (coreSizePool/taskcost)*responsetime
? ? ?? ? ?? ? ?計算可得 queueCapacity = 80/0.1*1 = 80。意思是隊列里的線程可以等待1s,超過了的需要新開線程來執(zhí)行
? ? ?? ? ?? ? ?切記不能設(shè)置為Integer.MAX_VALUE,這樣隊列會很大,線程數(shù)只會保持在corePoolSize大小,當(dāng)任務(wù)陡增時,不能新開線程來執(zhí)行,響應(yīng)時間會隨之陡增。
? ? ?? ? ?maxPoolSize = (max(tasks)- queueCapacity)/(1/taskcost)(最大任務(wù)數(shù)-隊列容量)/每個線程每秒處理能力 = 最大線程數(shù)
? ? ?? ? ?? ? ? 計算可得 maxPoolSize = (1000-80)/10 = 92
? ? ?? ? ?rejectedExecutionHandler:根據(jù)具體情況來決定,任務(wù)不重要可丟棄,任務(wù)重要則要利用一些緩沖機(jī)制來處理
? ? ?? ? ?keepAliveTime和allowCoreThreadTimeout:采用默認(rèn)通常能滿足

總結(jié)

以上是生活随笔為你收集整理的线程池的各种使用场景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。