Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#3

AW: Code für zwei Vorschleifen bereitstellen? Dumme Frage!

  Alt 28. Dez 2016, 12:00
Hallo,
1. Methode: Parallele Schleife
2. Methode: Sequentielle Schleife
3. Methode: Do something (gemeinsamer Code)
Headbucket
An etwas in der Art hatte ich auch schon gedacht nur nicht sehr weit.
Ja genau. Diese Direktive muss weg. Sie war nur zum Testen gedacht, um schnell an X-Stellen von For auf TParallel.For umzusteigen.

Also im Prinzip meinst du ... ?
Delphi-Quellcode:
procedure HauptProzedur;
var
 X_Variablen ... : Integer; // Variablen die in SequentielleSchleife genutzt werden (z.B. i_: Integer);

 procedure GemeinsamerCode(i: Integer);
 begin
  // Schleife abarbeiten
  // Mache etwas mit i_
 end;

 procedure ParalleleSchleife;
 begin
  TParallel.For(0, 99,
   procedure(i_: Integer; aLoopState: TParallel.TLoopState) // var "irgendwelche Variablen die in TParallel.For benötigt werden"
   begin
    // Spezifischer Code (aLoopState.Stop etc)

    GemeinsamerCode(i_);
   end);
 end;

 procedure SequentielleSchleife;
 begin
  for i_ := 0 to 99 do
   begin
    // Spezifischer Code (Break etc)

    GemeinsamerCode(i_);
   end;
 end;

begin
 if NutzeTParallelFor
  ParalleleSchleife
 else
  SequentielleSchleife;
end; // Ende Hauptprozedur

Geändert von a.def (28. Dez 2016 um 12:04 Uhr)
  Mit Zitat antworten Zitat