Delphi-Quellcode:
procedure TMyThread.Execute;
begin
...
(* Falls Event Signaled ist, warten *)
while (WaitForSingleObject(FEvent, 0) = WAIT_OBJECT_0) and
not Terminated do
sleep(0);
if Terminated then
break;
...
end;
Gibt es eine elegantere Lösung als eine Schleife mit Sleep(0)?
Unter
http://borland.newsgroups.archived.a...507263541.html werden Sleep(0)-Schleifen als "low-priority-thread-killing, processor-eating" bezeichnet (was ich frei übersetze als "blockiert Threads niedrigerer Priorität, und frisst Prozessorzeit"). (Punkt 5)