Есть много накладных расходов с AfxBeginThread? - PullRequest
4 голосов
/ 24 ноября 2011

Сколько накладных расходов, когда AfxBeginThread выполняет свою работу?

У меня смущающий параллельный проект, и я хочу запустить пакеты из 4-15 потоков с AfxBeginThread, дождаться естественного завершения каждого из них, сравнитьрезультаты, затем повторите миллионы раз.

Меня беспокоит то, что каждый рабочий поток будет выполнять намного меньше, чем работа в секунду, может быть, 1/50 секунды или меньше, и, честно говоря, я не наденуНе знаю, сколько циклов входит в voodoo AfxBeginThread, чтобы зарегистрировать новый поток, настроить его, войти в него и выйти из него естественным образом после завершения функции.

Есть мысли?

1 Ответ

6 голосов
/ 24 ноября 2011

Как правило, вы, вероятно, хотите избегать запуска и остановки потоков все время. Создайте рабочие потоки один раз , а затем передайте им данные миллионы раз. Тогда вам не нужно беспокоиться о накладных расходах на создание и уничтожение потоков (которые небольшие, но нетривиальные).

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