... darauf hingewiesen wird das Resume veraltet ist
aber keine Anwendbare lösung dafür zur verfügung stellt.
Das würde ich so nicht ganz behaupten.
Delphi-Quellcode:
// This function is not intended to be used for thread synchronization.
procedure Resume; deprecated;
// Use Start after creating a suspended thread.
procedure Start;
// This function is not intended to be used for thread synchronization.
procedure Suspend; deprecated;
Wobei die D2010-
OH diesbezüglich wirklich schrottig ist,
denn bei
TThread.Suspend und
TThread.Resume wird nicht erwähnt, daß diese "alt" sind,
aber bei
TThread.Start steht wenigstens
Zitat:
Anmerkung: Die Methode Resume ist veraltet und seine Verwendung soll vermieden werden. Verwenden Sie stattdessen die Methode Start.
Nur wie soll man das eigentlich entdecken, wenn man eigentlich nach Resume sucht?
Außerdem gehört eine Erklärung in die
OH, warum diese sooo gefährlich und nun auch deprecated sind.
[add]
OK, in XE hat man dieses ja nun endlich mal beseitigt. (schön, daß "alte" Versionen so selten geupdatet werde)
Zitat:
...
Setzt die Ausführung eines unterbrochenen Threads fort. Resume sollte von den Debuggern verwendet werden und ist in
RAD Studio XE 2010 veraltet.
Mit Resume nehmen Sie die Ausführung eines Thread wieder auf. Suspend-Aufrufe können verschachtelt sein. Entsprechend oft muss dann aber auch Resume aufgerufen werden, bevor der Thread fortgeführt wird.
Mit der Methode Start können Sie die Ausführung eines neu erstellten und angehaltenen Threads aufnehmen.
Warnung: Die Methoden Resume und Suspend sollten nur für das Debuggen verwendet werden. Das Anhalten eines Threads mit Hilfe von Suspend kann zu Deadlocks und undefiniertem Verhalten in der Anwendung führen. Korrekte Thread-Synchronisierungen sollten mit TEvent und TMutex vorgenommen werden.