(Moderator)
Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
Delphi 2007 Enterprise
|
Re: Deadlock beim stoppen eines Arbeiter Threads
12. Mär 2007, 10:44
Ohne das jetzt genau zu analysieren, fehlt -denke ich mal- einfach die richtige Synchronisation. TCriticalSections sind wirklich sehr leichtgewichtig und sperren nur unterschiedliche Threads gegenseitig aus. Ein und der selbe Thread kann so oft er will, ein 'Acquire' aufrufen.
Dessenungeachtet würde ich trotzdem den an sich falschen Code (weil keine 'offiziellen' Synchronisationsmechanismen verwendet werden) durch korrekten Code ersetzen. Sprich: Neuschreiben. Alles andere ist doch Quatsch. Das ist Frickelcode und wird einfach nicht korrekt funktionieren.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|