Forum: Sonstige Fragen zu Delphi
Delphi
by wido,
12. Apr 2008
Nunja, das kann dazu führen, daß CPU1 durch einen Thread mit höherer Priorität genutzt wird, CPU2 aber gar nicht, weil der Thread nur auf CPU1 laufen darf. In dem Falle setzt der Thread Scheduler die Ausführung des Threads komplett aus, was nicht im Sinne des Erfinders ist.
Forum: Sonstige Fragen zu Delphi
Delphi
by wido,
12. Apr 2008
Nein, ist eigentlich ziemlich trivial mit SetThreadAffinityMask.
Um den aktuellen Thread z.B. ausschließlich auf der 1. CPU auszuführen genügt ein:
SetThreadAffinityMask(GetCurrentThread(), 1);
Allerdings ist es in den meisten Fällen eher kontraproduktiv einen Thread auf einen Prozessor festzulegen. Im schlimmsten Falle kann es verschobenen Prioritäten kommen, so daß z.B. ein Thread weniger...