Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wann brauch ich ein Synchronize? (https://www.delphipraxis.net/71595-wann-brauch-ich-ein-synchronize.html)

Angel4585 17. Jun 2006 22:46


Wann brauch ich ein Synchronize?
 
Hallo zusammen,

Ich progge ja gerade ein Spiel und möchte dazu die InGame Uhrzeit anzeigen lassen, ich ahb dazu ein Thread der nebenher läuft und immer ein Label aktualisiert.
Der Thread ist das einzige wo auf dieses Label zugreift und jetzt stellt sich mir die Frage - da der Wert in einer Prozedur gesetzt wird, welche widerum mit Synchronize aufgerufen wird - bei welchen Aktionen brauch ich überhaupt dieses Synchronize? Macht es in diesem Fall Sinn? Welche Auswirkungen hat es?

Mein Problem da ich das mit dem Synchronize mache ist jetzt, das wenn der Hauptthread was größeres lädt, das die Uhrzeit eben hängt, was allerdings nicht passieren sollte...

Kann ich das vllt auch irgendwie geschickter lösen?

MfG Angel4585

3_of_8 17. Jun 2006 22:53

Re: Wann brauch ich ein Synchronize?
 
So weit ich weiß, ist synchronize dafür da, dass sich Threads nicht gegenseitig behindern.

Damit kann man praktisch Threads in eine bestimmte Reihenfolge bringen, damit zum Beispiel nicht ein Thread einen Wert liest, den der andere eigentlich schreiben sollte, es aber noch nicht getan hat.

Olli 17. Jun 2006 22:58

Re: Wann brauch ich ein Synchronize?
 
Synchronize läuft im Kontext des Hauptthreads, es konterkariert also den Sinn des Threads, wenn seine einzige Aufgabe innerhalb von Synchronize erledigt wird. Am besten wäre in diesem Fall IMO ein Timer (hab ich das gesagt?), oder ein Thread, welcher eine Nachricht an das Hauptfenster schickt. Das Hauptfenster sorgt dann in seiner Nachrichtenschleife dafür, daß das Label aktualisiert wird ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 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