Zitat von
th_bone:
Deine Vermutung scheint zu stimmen - mit dem eingebauten sleep funktioniert es - obwohl ich dachte, dass bei der Verwendung von threads dieses Problem nicht auftaucht, da jeder auch der Hauptthread seinen Anteil an der Zeitscheibe erhält
Das stimmt ja schon, aber das Synchronize muß ja irgendwie dafür sorgen, daß der Hauptthread nichts macht, wärenmd es arbeitet (wegen der Zugriffsprobleme).
Man könnte ja auch nu das INC selber locken und vom Haupthread (in 'ner Schleife auslesen)
Delphi-Quellcode:
procedure tmythread.Execute;
begin
tcount:=1;
repeat
InterlockedInc(tcount); // ich glaub so hies das
until tcount>1000;
end;
// entweder im Hauptthread
//
// oder in ähnlicher Weise in einem Nebenthread,
// der als Einziger auf den Hauptthread zugreift
While ... do Begin
Label1.Caption := IntToStr(mythread.tcount);
Application.ProgresMessages;
Sleep(100);
End;