Einzelnen Beitrag anzeigen

Patrick

Registriert seit: 15. Sep 2003
184 Beiträge
 
Delphi 2010 Professional
 
#1

Threads arbeiten nur auf einem Kern

  Alt 2. Jul 2010, 11:36
Hallo,

Ich habe es jetzt endlich geschafft meinen Code mit Threads zu parallelisieren, da taucht das nächste Problem auf:

Meine zwei erzeugten Threads arbeiten nur auf einem CPU-Kern anstatt alle zu verwenden. Ich arbeite nicht (oder nur sehr wenig) mit Synchonize. Die Threads sind ansonsten identisch und die Execute Funktion bearbeitet ne Menge unterschiedlicher Operationen (erzeugen und zerstören von Objekten, schleifen, String Operationen, usw... da ist alles dabei).
Tausche ich die Execute durch eine Schleife, die einfach einen Integer hoch zählt, funktioniert es hingegen und jeder Thread lastet einen Kern voll aus. Meine Frage ist: Warum? Und was kann ich dagegen machen?

Ich habe diesen Beitrag gefunden, bin aber nicht sicher, ob das mit meinem Problem zu verglichen ist.
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.
  Mit Zitat antworten Zitat