[英]Optimizing thread pool size
在着名的並發書中 ,Goetz建議使用可以計算池中最佳線程數
N threads = N CPU * U CPU * (1 + W/C)
W/C
是等待計算比率。 我想開發一個自定義Executor
,它將使用ThreadPoolExecutor.setCorePoolSize()
調整工作線程數量,但我不知道如何計算WC比率。 假設這個ThreadPool
是我的應用程序使用的唯一一個如何計算該比率?
有沒有辦法跟蹤工作線程在等待/睡眠上花費的時間? 或者有沒有解決這個問題的實現?
http://docs.oracle.com/javase/7/docs/api/java/lang/management/ThreadInfo.html
這個類包含類似的方法
getBlockedCount()
返回與此ThreadInfo關聯的線程被阻止進入或重新進入監視器的總次數。
getBlockedTime()
返回自啟用線程爭用監視以來,與此ThreadInfo關聯的線程已阻止進入或重新進入監視器的大致累計已用時間(以毫秒為單位)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.