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