Ограничение макс.темы можно создавать в многопоточности - PullRequest
0 голосов
/ 23 декабря 2010

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

Как мы можем быть уверены, что производительность не снизится из-за этого? Потому что, когда он выходит за пределы, потоки продолжают переключение контекста и в любой отдельной точке ни один из них не будет выполнять критическую часть кода.

1 Ответ

2 голосов
/ 23 декабря 2010

Количество потоков больше зависит от используемых им ресурсов.Если поток обрабатывает данные с диска или сети, это зависит от того, как долго он должен ждать на этих ресурсах.Во время ожидания другой поток может выполнить некоторую работу.Для сокращения чисел я бы сказал, что один поток на процессор / ядро.

...