Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.100 Beiträge
 
Delphi 12 Athens
 
#18

AW: THreads in ein Array schreiben

  Alt 27. Mär 2012, 18:46
mein Problem besteht darin, ich kann in meiner Schleife i Threads erzeugen
Delphi-Quellcode:
   for i:= 0 to Anzahl Threads do
       
         aThread := TMyThread.Create( Übergabe der Ausgangsmatrizen, Überhabe der Ergbnismatrix);

         aThread.Execute // Berechne hier eine Teilmatrix und dann das Ergebnis in die große Matrix schreiben

      end;
Nein, dein Problem ist, daß du nicht lesen kannnt.

Dir wurde mehrmals gesagt, daß man Execute nicht aufruft. (wird auch in jedem Thread-Tutorial erklärt)
PS: Execute ist mit Absicht als Protected deklariert, damit sollte eigentlich klar werden, daß man dieses nicht von extern aufruft.

Wobei ich die Möglichkeiten der Generics und anonymen Methoden sehr zu schätzen lernte.
Delphi-Quellcode:
TThread.CreateAnonymousThread(procedure
  begin
    ...
    // läuft in einem Thread
    ...
    TThread.Synchronize(nil, procedure
      begin
        ...
        // läuft im Hautthread/VCL-Thread
        ...
      end);
    ...
    // läuft in einem Thread
    ...
    TThread.Synchronize(nil, procedure
      var
        i: Integer;
      begin
        ...
        // läuft im Hautthread/VCL-Thread
        for i := 0 to ...
        ...
      end);
    ...
    // läuft in einem Thread
    ...
  end).Start;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Mär 2012 um 18:50 Uhr)
  Mit Zitat antworten Zitat