Und meine Queue ist eine einfache TObjectList oder ein Dictionary (je nach Anwendungsfall), ich vermeide Locks und verhinderte auch, dass das gleiche Objekt mehrfach in der UI aktualisiert wird.
Geht sicherlich eleganter, aber funktioniert und ich vermeide synchronized und Locks, wo es nur geht.
OK und wie? Wenn Du aus einem Thread in die Objectlist oder Dictionary schreibst musst Du verhindern, dass gleichzeitig Dein TimerEvent liest. Sicherlich ist lesen nicht so kritisch wie gleichzeitiges schreiben... Aber spätestens bei zwei threads must du locken.