Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Как привязать TThread к конкретному процессору


Автор: drkot 9.12.2012, 19:36
Хочу чтобы TThread выполнялся только на заданном процессоре (ядре).
Как это сделать?

Автор: Illusion Dolphin 9.12.2012, 21:02
SetThreadAffinityMask 
Sets a processor affinity mask for the specified thread.
http://msdn.microsoft.com/ru-ru/library/windows/desktop/ms686247%28v=vs.85%29.aspx

Добавлено через 44 секунды
А вообще такое делать как-бы не рекомендуется, т.к. вероятность навредить намного выше вероятности сделать лучше.

Автор: drkot 9.12.2012, 21:11
Спасибо

Автор: Spike 13.12.2012, 20:24
http://forum.ixbt.com/topic.cgi?id=26:36824-2 говорят что лучше использовать SetThreadIdealProcessor

Автор: drkot 30.12.2012, 17:32
SetThreadAffinityMask
Sets a processor affinity mask for the specified thread.

SetThreadIdealProcessor
Sets a preferred processor for a thread. The system schedules threads on their preferred processors whenever possible.

Собственно разница видна...
Кому что нужно то и нужно использовать ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)