Hi!
Mit diesem Code setze ich einen Thread auf suspended:
Delphi-Quellcode:
procedure TImgStdListView.SuspendThread;
begin
if FThumbnailThread.Suspended then
Exit
else
begin
FThumbnailThread.RefreshNow(nil);
while not FThumbnailThread.Suspended do
Delay(300);
end;
end;
Nun treten sporadisch ab und zu Deadlocks auf. Der ThumbnailThread hat an 2 oder 3 Stellen Synchronize-Aufrufe. Ich vermute der Deadlock tritt auf, wenn der Thread gerade Synchonize(Main-Methode) ausführt, die main-Methode aber auf suspended wartet. Zumindest kreise ich in der Delay-Schleife wenn mal wieder nichts geht. Gibt es da spezielle Techniken wie man an das Problem herangehen kann?
Grüße
Sebastian