У меня есть несколько потоков, вызываемых, скажем, несколькими другими процессами одновременно. Обычно эмпирическое правило для макс. количество потоков, которые процессор может запустить, давая эффективность производительности, равно нулю. потоков = нет. процессоров + 1 (хотя не уверен). Все современные приложения поддерживают пул потоков и продолжают повторно использовать потоки в любом конкретном случае.
Как мы можем убедиться, что производительность не ухудшится из-за этого. Потому что, когда он выходит за пределы, потоки продолжают переключать контекст, и в любой момент ни один из них не будет выполнять критическую часть кода.