Entwickler-Ecke

Windows API - Thread Problem


Nomak - Di 15.06.04 00:38
Titel: Thread Problem
Hallo!

Ich hoffe ich kann diese Problem einigermaßen Verständlich beschreiben.

Ich habe eine Consolen Anwendung mit der ich den Status einiger Systemressourcen (Dienste, Hosts, etc) kontinuierlich abfragen möchte.

In der Consolen Anwendung starte ich einen Workerthread der dann für die jeweilige Ressource einen passenden Thread aufruft.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
  GWorkerThread: TWorkerThread;

begin
  GWorkerThread := TWorkerThread.Create(True);
  GWorkerThread.Init;
  GWorkerThread.Resume;
  
  GWorkerThread.WaitFor;
end.


WorkerTread:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TWorkerThread.Process;
begin
  while not Terminated do
  begin
     //Starten der Überprüfungsthreads
  end;
end;


Funktioniert auch alles Wunderbar, nur habe ich durch das WaitFor dauerhaft eine CPU Auslstung von 100 Prozent.

Danke für Eure Hilfe!

Moderiert von user profile iconMotzi: Code- durch Delphi-Tags ersetzt.


Nomak - Di 15.06.04 11:53

Habe das Problem nun selbst lösen können.

Mit


Quelltext
1:
  WaitForSingleObject(GWorkerThread.Handle, INFINITE);                    


lässt sich die 100 Prozent CPU Belastung vermeiden