Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#4

AW: TThread und Rückgabe an Formular

  Alt 19. Jun 2014, 10:27
Mit synchronize funktioniert das ja, aber in verschiedenen Tutorials habe ich gelesen, dass man das nicht machen würde. Das wäre ja pro Schleifendurchlauf im Thread ein Aufruf von synchronize, der jedesmal den Thread kurz unterbrechen würde.
Neuere Delphi Versionen enthalten die Methode TThread.Queue, die im Unterschied zu Synchronize den Thread nicht sofort blockiert (sondern erst zu einem späteren Zeitpunkt). Queue legt den eigenen Methodenaufruf in eine Warteschlange und gibt die Kontrolle sofort an den Thread zurück. Im Haupthread wird dann "später" diese Queue abgearbeitet. Eine Garantie dafür gibt es aber nicht, z.B. falls beim Beenden des Programms noch Einträge in dieser Queue sind.
Michael Justin
  Mit Zitat antworten Zitat