Должен ли я использовать статический рабочий пул или динамический рабочий пул (потоков)? - PullRequest
2 голосов
/ 30 мая 2011

Я запускаю программу pthreads, которая работает очень хорошо, однако я не вижу ожидаемого ускорения. Я подозреваю, что я трачу много времени на создание и уничтожение своих тем.

Я никогда не запускаю больше потоков, чем у меня.

В течение 20 минут я создаю около 5000 потоков.

У меня вопрос: стоит ли применять правильный статический рабочий пул, чтобы я выделял только статическое число рабочих?

1 Ответ

1 голос
/ 30 мая 2011

Сначала вы должны измерить, где ваше приложение тратит все свое время.Это приводит к примерно 4 или 5 созданиям потоков в секунду, что довольно много, но, вероятно, не там, где вы проводите все свое время.

Тем не менее, если вы всегда ограничиваете себя N потоками, где N - количество процессоров, вам, вероятно, следует просто создать N потоков заранее и запланировать работу для выполнения в каждом потоке, используя некоторыеалгоритм, который имеет смысл в расчете, который вы делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...