Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Thread abschießen bei Programmende?

  Alt 22. Dez 2012, 17:17
Wo ich hier grade den Check auf Suspended sehe:
Bitte nie mit Suspend() arbeiten, wenn es sich in irgendeiner Weise verhindern lässt oder man genau weiß, was man tut. MSDN-Library durchsuchenWaitForSingleObject ist hier eine weitaus bessere Lösung.

Ich weiß nicht, ob dieses Problem mitlerweile behoben ist, aber in einigen Delphi Versionen war ein Szenario möglich, in dem der Thread grade Speicher durch den Memory Manager (direkt oder indirekt) angefordert bzw. freigegeben hat, als er suspendiert wurde. Der Memory Manager hatte vorher eine Critical Section oder Ähnliches betreten und durch den Suspend nicht mehr verlassen. Dadurch führte dann jede folgende Speicheralloziierung im Hauptthread sofort zu einem Deadlock.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat