Превышение лимита пула потоков Java

у меня в основном интенсивная работа с процессором, которая выполняется в пуле потоков. Однако операция имеет определенное количество ожидающих вражеских внешних событий, которые не происходят равномерно во времени. Поскольку в Java, насколько мне известно, нет реализации пула потоков, которая автоматически определяет количество потоков на основе наблюдаемой пропускной способности задачи (как в Microsoft CLR 4), существует ли хотя бы способ вручную указать пулу потоков для увеличивать его размер при запуске операции блокировки и уменьшаться при ее завершении?

Например, при 8 ядрах размер пула равен 8. Если операция на 100% связана с ЦП, просто используйте этот фиксированный пул. Если есть какая-то операция блокировки, можно сделать это:

pool.increase();
waitForSpecialKeyPress();
pool.decrease();

Вот как это делается в библиотеке Microsoft C ++ Async: Использовать избыточную подписку для компенсации задержки

5
задан Primk 12 April 2011 в 16:15
поделиться