Einzelnen Beitrag anzeigen

devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#1

Wie den CPU-Cores Threads zuordnen mit SetThreadAffinityMask

  Alt 10. Mär 2009, 11:34
Hallo,

ich habe eine Beispielanwendung mit 8 verschiedenen Threads, die ich basierend auf einem Intel Core i7 System den 8 Kernen zuordnen möchte. Der Core i7 hat ja 4 physikalische Kerne und jeder Kern verfügt über einen zusätzlichen HyperThreading-Kern, also insgesamt 8 Kerne (das zeigt auch der Taskmanager an).

Nun verwende ich in den Thread-Create Funktionen die Funktion SetThreadAffinityMask, und als Übergabewert verlangt diese Funktion ein Handle, was ich auch korrekt übergebe, sowie die sogenannte dwThreadAffinityMask. Leider finde ich nun aber keine Infos, wie diese AffinityMask aussehen muss, um den Thread etwa dem 5. Kern zuzuweisen.

Auch die MSDN-Doku hilft hier nicht weiter: MSDN.

Kann mir da jemand helfen ? Ich vermute, es ist eine Bit-basierte Geschichte, also etwa Bit X für Kern X.
Devid
57 65 72 20 6C 65 73 65 6E 20 6B 61 6E 6E 2C 20 69 73 74 20 6B 6C 61 72 20 69 6D 20 56 6F 72 74 65 69 6C 21
  Mit Zitat antworten Zitat