Показать сообщение отдельно
  #9  
Старый 17.05.2015, 10:58
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Только в методе Execute добавьте Sleep(1) хотя-бы на каждом проходе while.
Ваш пример загрузит процессор, распределив нагрузку между ядрами, но при этом каждый поток будет обрабатываться не в отдельном ядре, а нагрузка от всех этих потоков будет распределена между ядрами. Может даже так случится, что 4 потока будут работать только на 3 ядрах, совершенно не используя остальные.

ПС: Не уверен, т.к. не пользовался, но с помощью функции SetThreadAffinityMask можно реально заставить конкретный поток исполнятся на конкретном ядре.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием