[C++/Windows]Przydzielanie wątkom osobnych rdzeni procesora

0

Witam,

Czy istnieje możliwość by każdemu wątkowi z których składa się proces przydzielić na stałe(tzn na czas wykonania programu) osobny rdzeń procesora wielordzeniowego? Jeśli nie , to czy istnieje możliwość przełączenia procesu na inny rdzeń procesora.
Oczywiście nie chodzi mi o ustawianie tego za pomocą Menadżera zadań, tylko o przełączanie lub przydzielanie rdzeni wewnątrz programu.

Pozdrawiam,
W2K

0

SetProcessAffinityMask ?

0

To dla Wszystkich wątków procesu ( og. dla całego procesu ).

Dla poszczególnych wątków procesu funkcja :

SetThreadAffinityMask(HANDLE hThr,DWORD_PTR dwAffMask);

Ciekawostka :
Powinowactwo Procesu można ustawić w nagłówku pliku wykonywalnego ( wbudować w .exe)
Flagi w nagłówku można ustawiać za pomocą narzędzia "ImageCfg.exe".
np. ustawić preferowany CPU , lub ograniczyć możliwość wykonywania programu
do systemów z jednym CPU .

Programowo można zmienić nagłówek pliku za pomocą funkcji :
ImageLoad
GetImageConfigInformation
SetImageConfigInformation
ImageUnload

Informacja:
Na podstawie,
http://www.microsoft.com/pola[...]ie_aplikacji_dla_windows.mspx
polecam [green]

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0