AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wann brauch ich ein Synchronize?

Ein Thema von Angel4585 · begonnen am 17. Jun 2006 · letzter Beitrag vom 17. Jun 2006
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Wann brauch ich ein Synchronize?

  Alt 17. Jun 2006, 22:46
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
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Wann brauch ich ein Synchronize?

  Alt 17. Jun 2006, 22:53
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#3

Re: Wann brauch ich ein Synchronize?

  Alt 17. Jun 2006, 22:58
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 ...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:45 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