Hi.
Wenn du das leeren und Befüllen eh schon mit einer Semaphore geschützt hast, kann du dir an der Stelle doch einen Merker setzen, dass geändert worden ist. Der Thread setzt diesen Merker zurück, wenn er anfängt zu arbeiten und fragt ihn vor jedem Schleifenzugriff ab. Sitzt der Merker wieder, schießt sich der Thread selber ab ...
Delphi-Quellcode:
procedure TXXXThread.Execute;
begin
Geaendert:=FALSE;
for i:=0 to liste.Count-1 do
begin
if Geaendert then Exit;
BearbeiteListenElement(i);
end;
end;
cu
easywk