Einzelnen Beitrag anzeigen

Glados
(Gast)

n/a Beiträge
 
#3

AW: Thread Synchronize Fragen

  Alt 10. Jul 2017, 09:39
Kann man also festhalten Queue ist besser als Synchronize?
Zitat:
Für das Setzen eines Hints oder eine Fortschrittsanzeige ist diese Synchronizität aber gar nicht notwendig
Heißt das, ich kann FormX.ProgressBarY.Position := in einem Thread ohne Synchronize aufrufen und komplett auf Queue ausweichen?

Verstehe ich das richtig?
Synchronize synchronisiert sofort und erst wenn das fertig ist geht es nach meinem Befehl, der in Synchronize() steht weiter
und Queue packt den Aufruf in eine ART Stack, es geht aber sofort weiter?

Nur kann Queue dann nicht Probleme machen wenn man folgendes Szenario hat?

Delphi-Quellcode:
var i: Integer;

i := 2;

TThread.Queue(nil, procedure begin i := 5; end);

if i = 5 then
 begin
 end;
Könnte es denn jetzt passieren, dass i := 5 ins Queue gesetzt wird aber erst so spät ausgeführt wird, dass if i := 5 nicht zutrifft, da i ja noch 2 ist?
Oder denke ich hier falsch?

Geändert von Glados (10. Jul 2017 um 09:50 Uhr)
  Mit Zitat antworten Zitat