Я написал несколько многопоточных приложений. Обычно я допускаю, чтобы количество потенциальных потоков определялось конфигурационным файлом. Когда я настроился на конкретных клиентов, я установил число, достаточно высокое, что мое использование всех ядер процессора было довольно высоким, но не настолько высоким, что я столкнулся с проблемами памяти (это были 32-разрядные операционные системы на время].
Положите иначе, как только вы достигнете узкого места, будь то CPU, пропускная способность базы данных, пропускная способность диска и т. д., добавление большего количества потоков не увеличит общую производительность.
Обратите внимание, что это предполагает, что система (ы), о которой идет речь, посвящена вашему приложению, и вам не нужно хорошо играть (избегать голодания) других приложений .