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