Thema: Delphi TThread - Sleep

Einzelnen Beitrag anzeigen

JoltinJoe

Registriert seit: 26. Jun 2010
29 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: TThread - Sleep

  Alt 8. Jul 2010, 17:47
Delphi-Quellcode:
//High Condition
procedure TSendThread.HighCondition;
begin
  FetchedCount:=FetchedCount+1;
end;

//Reset Condition
procedure TSendThread.ResetCondition;
begin
  FetchedCount:=0;
end;

procedure TSendThread.Execute;
begin
  while not Terminated do
  begin
    Synchronize(HighCondition);
    if FetchedCount>ConditionLimit then
      begin
        Sleep(Delay);
        Synchronize(ResetCondition);
      end;
      ....
      MEINE_ANDEREN_PROCEDUREN
      ....
  end;
end;
FetchedCount und ConditionLimit sind globale Variablen. FetchedCount wird nur im Synchronize beschrieben, ConditionLimit wird nur gelesen!

Grundlage: Ich habe immer 100 Threads. Wenn ich das Limit auf 50 setze dann sollen 50 Threads MEINE_ANDEREN_PROCEDUREN ausführen und 50 sollen erstmal schlafen und dann MEINE_ANDEREN_PROCEDUREN ausführen !

Geändert von JoltinJoe ( 8. Jul 2010 um 18:19 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat