Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#14

Re: Geschwindigkeitsgewinn von Multithreading Berechnungen

  Alt 27. Mai 2010, 21:02
Zitat von Neutral General:
Aber soll ich dann wenn ein Thread fertig ist einen neuen erstellen der die nächsten 10 Zeilen macht?
Wozu einen neuen Thread? Der alte bleibt bestehen und holt sich die nächsten zehn Zeilen. Ohne TPL könnte das etwa so aussehen:
Delphi-Quellcode:
var sharedY := 0;

for var i := 1 to Environment.ProcessorCount do
   new Thread(->
      begin
         while true do
         begin
            var startY := Interlocked.Add(var sharedY, 10);
            if startY >= Height then
               break;
            for var y := startY to Math.Min(startY + 9, Height - 1) do
               for var x ....
         end;
      end;
   ).Start();
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat