Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Synchronize oder TCriticalSection??? (https://www.delphipraxis.net/46301-synchronize-oder-tcriticalsection.html)

romber 22. Mai 2005 14:06


Synchronize oder TCriticalSection???
 
Hallo!

Beim Ändern einer globalen Integer- bzw. String-Variable durch mehreren Threads muss ich den Vorgang mit TCriticalSection absichern. Muss ich den Schreib-Aktion in eine TStringList durch mehrere Threads synchronisieren oder reicht hier eine TCriticalSection auch aus?

sakura 22. Mai 2005 14:09

Re: Synchronize oder TCriticalSection???
 
Zitat:

Zitat von romber
Muss ich den Schreib-Aktion in eine TStringList durch mehrere Threads synchronisieren oder reicht hier eine TCriticalSection auch aus?

TCriticalSection ist hier um Längen die bessere Wahl. Synchronize ist dann angebracht, wenn Du die Ausgabe/Interaktion mit der Hauptanwendung steuern musst, für Variablenmanipulationen etc, ist die CS Dein bester Freund ;)

...:cat:...

romber 22. Mai 2005 15:20

Re: Synchronize oder TCriticalSection???
 
Danke für schnelle Antwort! :thumb:

Das heisst, wenn nur die von der Hauptanwendung abgeleitete Thread auf eine TStringList zugreifen, reicht TCriticalSection aus. Aber wenn die Haupteinwendung in irgeneiner Procedure auch auf TStringList zugreift? Dann muss ich synchronisieren oder wie? Z.B. Ich habe vergessen zu erwähen, dass ich einen TTimer auf der Hauptform habe, der ab und zu auch in dieselbe TStringList schreibt...

sakura 22. Mai 2005 15:23

Re: Synchronize oder TCriticalSection???
 
Wenn die Hauptanwendung auch in die StringList schreibt, dann sollte die auch die CS nutzen. Synchronize wird erst dann wichtig, wenn einer der Threads das GUI der Anwendung verändern will ;)

...:cat:...

romber 22. Mai 2005 15:26

Re: Synchronize oder TCriticalSection???
 
Verstanden, danke vielmals!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz