Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi einem Thread einen CPU-Kern zuweisen (https://www.delphipraxis.net/149925-einem-thread-einen-cpu-kern-zuweisen.html)

Gargamel 2. Apr 2010 15:03


einem Thread einen CPU-Kern zuweisen
 
Ist es möglich, einem Thread eine CPU bzw. einen bestimmten CPU-Kern zuzuweisen?
Läßt sich da etwas machen oder übernimmt Windows diese Aufgabe immer selbst?

Luckie 2. Apr 2010 15:04

Re: einem Thread einen CPU-Kern zuweisen
 
Kann man auch erzwingen. Die Forensuche hilft.

Gargamel 2. Apr 2010 15:18

Re: einem Thread einen CPU-Kern zuweisen
 
Delphi-Quellcode:
var thread:TMeinThread;

thread:=TMeinThread.Create(false);
setThreadAffinityMask(thread.Handle,1);
Ich vermute mal, daß der zweite Parameter der CPU-Kern ist, auf dem der Thread laufen soll.
Ist der Code soweit richtig?

Gargamel 2. Apr 2010 15:26

Re: einem Thread einen CPU-Kern zuweisen
 
Ach, Unsinn. So geht's.

Delphi-Quellcode:
setThreadAffinityMask(thread.Handle,1 shl 1);
Wobei 1 shl 0 der erste CPU-Kern ist und 1 shl 1 der zweite usw.
Ich habe mit zwei parallel laufenden Threads getestet und der Taskmanager zeigt mir das auch so an.
(habe einen Core2Duo)

Dezipaitor 2. Apr 2010 15:51

Re: einem Thread einen CPU-Kern zuweisen
 
Soll Leute geben, die schreiben für
Zitat:

1 shl 1
auch 2 :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz