合理估算线程池线程数量
生活随笔
收集整理的這篇文章主要介紹了
合理估算线程池线程数量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考《Java并發編程實戰》
?
?
線程數量計算公式
公式:Nthread = Ncpu * Ucpu * (1+ W/C),各字段含義:
Nthreads:線程數量
Ncpu:CPU的數量,Runtime.getRuntime().availableProcessors()
Ucpu:CPU使用率,范圍在[0,1]
W/C:等待時間與計算時間的比率
公式解讀:其實就是要分清是計算密集型還是IO密集型,從公式可以看到如果是 如果是C無限大也就是計算密集型的那么線程太多意義不大,因為需要CPU計算,起多了也沒用。如果是IO密集型那么可以起更多的線程,因為等待時間過多。
?
簡單總結就是:IO密集多線程,計算密集線程=CPU核數比較合適。
?
總結
以上是生活随笔為你收集整理的合理估算线程池线程数量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界多少钱啊?
- 下一篇: 神画智能影院使用说明书?