![]() |
AW: VCL not thread save
Zitat:
|
AW: VCL not thread save
Hallo Stahli,
Zitat:
Deswegen habe ich mir geschworen, dass ich vor dem nächten Projekt mit Threading, zu allererst die Fähigkeiten der ![]() Da hat ein echter Threading-Experte seit 2008 seine Wunsch-Library gebaut und (und das ist viel zu selten der Fall) sie auch dokumentiert. In dem ![]() Bevor als die eigene Suppe überbrodelt, würde ich mal die OmniThreadLibrary schmecken. Ciao Heinz Z. |
AW: VCL not thread save
Zitat:
![]() Zitat:
|
AW: VCL not thread save
Vermutlich ein Bug, bezüglich auf sich selber warten und so.
|
AW: VCL not thread save
Zitat:
Insbesondere dann nicht, wenn das Verhalten dokumentiert/by-design ist. Wenn dir die API nicht gefällt, ist das eine andere Sache. |
AW: VCL not thread save
Kann da wirklich eine Endlosschleife auftreten oder meinen die eher ein Deadlock? Soweit ich weiß, sendet Synchronize eine Message an den Thread und wartet anschließendä vermutlich auf ein Signal (Lock). Wie eine Endlosscheife entstehen sollte, kann ich mir nicht so richtig vorstellen, Deadlock wäre dagegen logisch, weil die Message ja nicht abgearbeitet werden kann, während der Aufrufer-Thread blockiert.
Abgesehen davon meine ich aber mal den Source-Code von Synchronize gelesen zu haben, und wenn ich mich recht erinnere, war da am Anfang eine Weiche drin, die prüft ob GetCurrentThread = Ziel-Thread. Kann natürlich sein, dass das erst in späteren Versionen in die RTL eingebaut wurde. Aber mindestens seit Delphi 2006 sollte es dann schon drin sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz