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