Thema: Delphi Thread "warten" lassen?

Einzelnen Beitrag anzeigen

BloodySmartie
(Gast)

n/a Beiträge
 
#9

Re: Thread "warten" lassen?

  Alt 9. Dez 2008, 11:45
Über Suspend würde ich vielleicht so rangehen:
Delphi-Quellcode:

type
  TMyThread = class(TThread)
  private
  protected
    procedure Execute; override;
  public
    terminate:boolean;
   myData:TMyData;

  end;

procedure TMyThread.Execute;
begin
  while not terminate do
  begin
   doSomething(myData);
   self.Suspend;
  end;
end;
Und im Hauptprogramm:
Delphi-Quellcode:
//Daten verarbeiten:
myThread.myData:=WhatEver; //Zu verarbeitende Daten setzen
myThread.Resume; //Verarbeitung anstoßen

//Thread beenden:
myThread.terminate:=true
myThread.Resume;
Besonders sauber sieht das aber nicht aus - vor allem müsste ich vielleicht noch über MyThread.Suspended sicherstellen, dass der Thread nicht gerade dann noch beschäftigt ist, wenn ich schon wieder nen neuen Verarbeitungszyklus starten möchte.
  Mit Zitat antworten Zitat