AGB  ·  Datenschutz  ·  Impressum  







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

Thread Synchronisation

Ein Thema von Schorschi5566 · begonnen am 22. Aug 2010 · letzter Beitrag vom 22. Aug 2010
 
Schorschi5566

Registriert seit: 6. Feb 2006
197 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Thread Synchronisation

  Alt 22. Aug 2010, 20:04
Hallo Andreas,

ich habe es so verstanden, dass die Interlocked-Funktionen dafür sorgen, dass die Kommandos zum Bearbeiten einer Integer o. ä. innerhalb einer Zeitscheibe erledigt sind.

Bleibt immer noch die Frage in Verbindung mit Criticalsections:

Muss ein lesender Zugriff in einem Thread auf eine Variable, die von anderen Threads geschrieben wird mit einer Criticalsection umgeben werden?

Folgender Fall für einen Hauptthread, der auf Ergebnisse aus den Subthreads wartet (Beispiel):

Delphi-Quellcode:
      bRunning := True;
      while bRunning do
      begin
        i := 0;
        while (i < Formulas.Count) do
        begin
          // FThreadResult sei eine Extended-Variable
          // Muss hier eine Criticalsection rein?
          if Formulas[i].FThreadResult > 0 then
          begin
            bRunning := False; // Schleife verlassen, Ergebnis ist da.
          end;
          inc(i);
        end;
      end;
Meiner Meinung nach ist es hier nicht nötig eine Criticalsection einzufügen, da die Schleife ja weiter durchlaufen wird, wenn ein Thread gerade die Ergebnisvariable beschreibt und somit der richtige Wert einen Durchlauf später vorhanden ist.

Oder liege ich da falsch und der lesende Zugriff könnte den schreibenden Thread blockieren?


Grüße,
Uwe
Uwe
"Real programmers can write assembly code in any language." - Larry Wall
Delphi programming rocks
  Mit Zitat antworten Zitat
 


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 03:32 Uhr.
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