Thema: Delphi Welcher Core macht was?

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Welcher Core macht was?

  Alt 10. Nov 2010, 09:43
Also, es heißt genau MSDN-Library durchsuchenSetProcessAffinityMask
und darüber kommst du dann erstmal an eine gute Stelle im MSDN, von wo aus man sich weiter durchgraben könnte.

z.B. findet man da MSDN-Library durchsuchenGetCurrentProcessorNumber, womit der eigene Prozess erfährt, wo er grade in diesem Moment läuft.
Für externe Programme gibt es sowas anscheinend nicht.
(der gewünschte Prozess muß ja auch nichtmal grade verarbeitet werden, so daß er keinem Kern zugeordnet ist)

Klar könnte man jetzt in alle Programme, bzw. eigentlich sogar in alle Threads, einen Code injizieren, welcher das Abfragt, aber wozu der Aufwand und wozu den PC so ausbremsen.
Außerdem könnte diese Zuweisung auch dutzende oder hunderte Male in der Sekunde wechseln ... da kann doch keiner mehr zugucken.

PS: ein Programm ist keinem Prozessor zugeordnet, sondern alle seine Threads.
Und diese müssen nichtmal auf dem selben Prozessor/Kern zugeordnet sein.
Heißt also, du hättest so eine unüberschaubare Liste von tausenden Threads.

Du kannst aber den Programmen/Threads sagen wo sie laufen sollen.
Da gibt's auch schon fertige Programme.
Wenn du festlegst wo was läuft, dann weißt du wo was läuft.
z.B. einem Programm und seinen Threads nur einen Prozessor zuweisen und allen Anderen diesen verweigern.
$2B or not $2B

Geändert von himitsu (10. Nov 2010 um 09:45 Uhr)
  Mit Zitat antworten Zitat