Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Synchronize inerhalb globaler Funktion durchführen (https://www.delphipraxis.net/158410-synchronize-inerhalb-globaler-funktion-durchfuehren.html)

schwa226 17. Feb 2011 08:56

AW: Synchronize inerhalb globaler Funktion durchführen
 
Zitat:

Zitat von himitsu (Beitrag 1082302)
Abgesehn davon, daß eh nur eine der Synchronize-Prozeduren gleichzeitig ausgeführt wird.
Also wenn ein Thread ein LockList macht, dann sollte er das am Ende auch wieder freigeben und nachdem dieser Synchronizeaufruf fertig abgearbeitet wurde, erst dann wird das andere Synchornize ausgefphrt und die Liste wäre ja schonwieder frei.
Gut, und zusärtlich das schon erwähnte Verhalten der CS, welche praktisch nur für andere Threads sperrt ... Synchronize-Prozeduren laufen ja immer im Hauptthread (dem der VCL) ab.

Ok, danke für die Info!
Also brauche ich eigentlich gar keine TThreadList sondern es reicht eine einfach TList.
Den entweder greift der Hauptthread auf die Liste zu oder der Thread über Synchronize.

Sir Rufo 17. Feb 2011 15:59

AW: Synchronize inerhalb globaler Funktion durchführen
 
Zitat:

Zitat von schwa226 (Beitrag 1082388)
Zitat:

Zitat von himitsu (Beitrag 1082302)
Abgesehn davon, daß eh nur eine der Synchronize-Prozeduren gleichzeitig ausgeführt wird.
Also wenn ein Thread ein LockList macht, dann sollte er das am Ende auch wieder freigeben und nachdem dieser Synchronizeaufruf fertig abgearbeitet wurde, erst dann wird das andere Synchornize ausgefphrt und die Liste wäre ja schonwieder frei.
Gut, und zusärtlich das schon erwähnte Verhalten der CS, welche praktisch nur für andere Threads sperrt ... Synchronize-Prozeduren laufen ja immer im Hauptthread (dem der VCL) ab.

Ok, danke für die Info!
Also brauche ich eigentlich gar keine TThreadList sondern es reicht eine einfach TList.
Den entweder greift der Hauptthread auf die Liste zu oder der Thread über Synchronize.

Und damit auch wieder der Hauptthread ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr.
Seite 2 von 2     12   

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