Java 获得CPU工作核心数
作者:
sphsyv | 来源:发表于
2016-11-17 13:39 被阅读100次Runtime.getRuntime().availableProcessors()
/**
* 根据 Java 虚拟机可用处理器数目返回最佳的线程数。<br>
* 最佳的线程数 = CPU可用核心数 / (1 - 阻塞系数),其中阻塞系数这里设为0.9
*/
public static int getBestPoolSize() {
try {
// JVM可用处理器的个数
final int cores = Runtime.getRuntime().availableProcessors();
// 最佳的线程数 = CPU可用核心数 / (1 - 阻塞系数)
// TODO 阻塞系数是不是需要有个setter方法能让使用者自由设置呢?
return (int)(cores / (1 - 0.9));
}catch (Throwable e) {
// 异常发生时姑且返回10个任务线程池
return 10;
}
}
本文标题:Java 获得CPU工作核心数
本文链接:https://www.haomeiwen.com/subject/yvpdpttx.html
网友评论