在 Java 中,是否有一种编程方式来找出 CPU 支持多少并发线程?
更新
澄清一下,我不是想用线程敲击 CPU,而且我知道 Runtime.getRuntime().availableProcessors() 函数,它为我提供了我正在寻找的部分信息。
我想知道是否有办法自动调整线程池的大小,以便:
- 如果我在使用了 1 年的服务器上运行,我会得到 2 个线程(每个 CPU 1 个线程 x 任意乘数 2)
- 如果我从现在开始两年后切换到 Intel i7 四核(每个内核支持 2 个线程),我将获得 16 个线程(每个 CPU 2 个逻辑线程 x 4 个 CPU x 2 的任意乘数)。
- 相反,如果我使用八核 Ultrasparc T2 服务器(每个内核支持 8 个线程),我得到 128 个线程(每个 CPU 8 个线程 x 8 个 CPU x 2 的任意乘数)
- 如果我在由 30 台不同机器组成的集群上部署相同的软件,这些机器可能在不同年份购买,我不需要阅读 CPU 规格并为每台机器设置配置选项。