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