Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#8

AW: TThread Suspend und Resume

  Alt 14. Sep 2016, 19:01
Soweit ich weis, sind Resume und Suspended doch veraltet.
Nunja, das Einzige, was man niemals machen darf, ist ein Suspend von außerhalb des Threads.
Kein Anderer weiß wo der Thread gerade ist und kann somit den Thread auch nicht "sicher" anhalten.
(sich selber anhalten könnte ein Thread sich schon dürfen, aber da gibt es andere/bessere Wege)

Sicher = nicht an ein "ungünstigen" Stelle

Suspended starten erstellen und dann später starten ist schon noch OK, auch wenn sich die Befehle/Namen von Suspend/Resume vielleicht geändert haben mögen.

Das mit dem WaitFor würde mich jetzt aber auch interessieren.
Denn dann wird nicht mehr soviel Energie verbraten als mit den Sleeps.
Sleep macht intern auch "nur" ein WaitFor und wartet auf das TimeOut

Aber es geht sofort weiter (hier muß man immer bis zu 1000 Millisekunden warten, bis es weiter geht)
und der Thread wacht nicht ständig sinnlos zwischendurch auf ... erst, wenn das Event oder der TimeOut ausgelöst haben.

PS: FCancelRequest oder bThreadBeenden sind doch bissl doppelt, vor allem dann, wenn man daran denkt was Terminated schon macht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat