ОС вообще старается загружать процессоры равномерно, в зависимости от колчиства потоков и их загрузки. Для более тонкой настройки можно использовать вот эти функции:
DWORD SetThreadIdealProcessor(HANDLE hThread, DWORD dwIdealProcessor);
Можно задать на каком процессоре тебе хотелось-бы выполнять указанный тред (это необязательное условие, а настойчивое пожелание. Для обязательного условия смотреть на следующие две функции)
DWORD_PTR SetThreadAffinityMask(HANDLE hThread, DWORD_PTR dwThreadAffinityMask);
На каких процессорах тебе хотелось-бы выполнять поток (какой именно процессор, из указанных, будет выбирать ОС)
BOOL SetProcessAffinityMask(HANDLE hProcess, DWORD_PTR dwProcessAffinityMask);
На каких процессорах будут выполнятся все потоки процесса (какой именно процессор, из указанных, будет выбирать ОС)
__________________
Одним фломастером можно раскрасить почти все. Двумя - вообще все!
Последний раз редактировалось COBEHOK; 19.05.2008 в 20:42.
|