wenn ich mehrere Thread z.B. 40 parallel aktiviere, werden dann die Threads
auch gleichmäßig auf die Kerne
einer CPU verteilt? Z.B. bei einer 16 Kern CPU müssten theoretisch alle CPU
Kerne gleichmäßig belasten,
oder nicht?
Mir scheint es so, das primär nur ein Kern genutzt wird.
Kann ich die Verteilung im Code steuern?
Nein, es wird nichts auf mehrere Kerne / CPU's verteilt, sondern per
kooperativem Multitasking lediglich ein Kern bzw. eine CPU genutzt. Wenn
du mehrere CPUs/Kerne nutzen möchtest, so musst du sogenannte
Worker-Anwendungen bauen, die mit deiner Hauptapplikation kommunizieren.
Wenn du ein Beispiel-Projekt brauchst:
http://www.tempel.org/RB/MultiProcessing
Dort ist das ziemlich gut erklärt und auch ein Projekt zum Download
vorhanden.
--
Michael Kagerbauer
http://rbcoder.de