В Java есть программный способ узнать, сколько параллельных потоков поддерживается процессором?
Обновление
Чтобы уточнить, я не пытаюсь забивать процессор потоками, и я знаю о функции Runtime.getRuntime(). availableProcessors(), которая предоставляет мне часть информации, которую я ищу.
Я хочу узнать, есть ли способ автоматической настройки размера пула потоков, чтобы:
- Если я работаю на 1-летнем сервере, я получаю 2 потока (1 поток на процессор x произвольный множитель 2)
- Если я переключусь на четырехъядерный ядро Intel i7 через два года (который поддерживает 2 потока на ядро), я получаю 16 потоков (2 логических потока на процессор x 4 процессора x произвольный множитель 2).
- если вместо этого я использую восьмиъядерный сервер Ultrasparc T2 (который поддерживает 8 потоков на ядро), я получаю 128 потоков (8 потоков на процессор x 8 процессоров x произвольный множитель 2)
- Если я разворачиваю одно и то же программное обеспечение на кластере из 30 разных машин, которые могут быть приобретены в разные годы, мне не нужно читать спецификации процессора и устанавливать параметры конфигурации для каждого из них.