Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: android fehler mit thread

  Alt 30. Jan 2014, 16:21
Stop, Pause, Suspend usw. darf niemals aufgerufen werden.

Jedenfalls nicht von extern. (darum geben "aktuellere" Delphis auch eine Compilerwarnug aus, wenn man solche Funktionen aufrufen will)
Maximal darf sich der Thread von innen selber schlafen legen, denn nur dan ist sichergestellt, daß er auch an einer "sicheren" Stelle anhält.

Stell dir mal vor du pausierst den Thread, während er z.B. grade vom Speichermanager etwas anfordert, oder wenn er gerade mitten dabei ist in einer "gesperten" CriticalSection etwas zu machen.
Mit genug Pech hälst du den nun dann an, während der Speichermanager noch mitten in der Arbeit ist, also er sich noch gesperrt hat (CS.Enter), dann kommt der Thread aus der Sperre nicht mehr raus und du blockierst dann auch alles Andere so lange, was ebenfalls darauf zugreifen will.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Jan 2014 um 16:24 Uhr)
  Mit Zitat antworten Zitat