作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在his famous concurrency book , Goetz 建议可以使用
计算池中的最佳线程数N threads = N CPU * U CPU * (1 + W/C)
W/C
是等待计算比率。我想开发定制Executor
这将使用 ThreadPoolExecutor.setCorePoolSize()
调整工作线程数量,但我不知道如何计算 WC-ratio。假设这个 ThreadPool
是我的应用程序唯一使用的比率吗?我该如何计算该比率?
有没有办法跟踪工作线程在等待/ sleep 上花费了多少时间?或者是否有解决此问题的实现方案?
最佳答案
http://docs.oracle.com/javase/7/docs/api/java/lang/management/ThreadInfo.html
这个类包含如下方法
getBlockedCount()
返回与此 ThreadInfo 关联的线程阻塞进入或重新进入监视器的总次数。
getBlockedTime()
返回自启用线程争用监视以来,与此 ThreadInfo 关联的线程已阻塞以进入或重新进入监视器的近似累积运行时间(以毫秒为单位)。
关于java - 优化线程池大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29034012/
我是一名优秀的程序员,十分优秀!