Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: Thread Vs Timer !!! Wievile Threads sind zu viel ?

  Alt 16. Sep 2003, 15:57
Hi Leute,

nochmal ne Frage zu dem Thema Threads :

Wenn ich einen Thread habe der nur alle 60 Sek./60000 ms. eine Aktion durchführen soll, darf ich dann im Execute des Threads den Thread mit sleep für 60 sek. schlafen legen, oder muss ich z.B. jede Sekunde überprüfen, ob der Thread nicht beendet wurde.

ich poste einfach mal zwei Code Beispiele, dann wid klar was ich meine :

Code 1(jetziger Zustand) :
Delphi-Quellcode:
procedure TmyThread.Execute;
Var iWait : Longint;
begin
   While not Terminated do begin
      doRequest;
      iWait := 0;
      While (not Terminated) and (iWait < 60000) do begin
         inc(iWait,500);
         sleep(500);
      end;
   end;
end;
Code 2(wäre von der Performence/Systembelastung natürlich besser) :
Delphi-Quellcode:
procedure TmyThread.Execute;
begin
   While not Terminated do begin
      doRequest;
      sleep(60000);
   end;
end;
Meine Befürchtung ist nur das bei Bsp. 2 im schlimmsten Fall beim Beenden der Applikation 60 Sek. darauf gewartet wird das der Thread mitbekommt das er sich beenden soll.

Danke im vorraus,

Data

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat