AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 23:32

Parameter dieser Suchanfrage:

Suche in Thema: Critical Section um globale Methode?
Suche alle Beiträge, die von "himitsu" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 6 von insges. 6 Treffern
Suche benötigte 0.000s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Critical Section um globale Methode?

     
      by himitsu, 7. Jun 2017
    Die Lesedinge sperren sich dabei nicht gegenseitig.

    Das BeginRead ist nur dafür da, um zu verhindern, dass jemand während des Lesens etwas ändern kann.
    BeginRead sperrt das BeginWrite, bzw. hält selber an, wenn gerade geschrieben wird.
    Andere BeginRead werden aber durch den Read-Lock (durch BeginRead) nicht beeinflusst.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Critical Section um globale Methode?

     
      by himitsu, 7. Jun 2017
    Dort, wo lesend auf globale-Klasseninstanz zugegriffen wird, kommt natürlich ein BeginRead drumrum.

    Erstmal reicht es den Lese-Zugriff auf diese Variable zu sperren,
    aber wenn sich innerhalb dieser Instanz auch etwas ändern kann (Property und enthaltene Variablen), dann auch das mit einschließen.

    Wenn sich an der Objektinstanz nicht gleichzeig in mehreren Thread was ändert,
    also z.B. da...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Critical Section um globale Methode?

     
      by himitsu, 7. Jun 2017
    Lesezugriffe sperren sich nicht gegenseitig ... mehrere sind erlaubt.
    So lange es Lesesperren gibt, warten alle Schreibanfragen.
    Eine Schreibsperre sperrte alle anderen Lese und Schreibzugriffe.

    Natürlich nur verwendbar für "echte" Lesezugriffe, wo wirklich nichts geschrieben wird.
    z.B. Stream.Read ist zwar ein Lesezugriff, aber da bei wird der Positionszeiger geändert, was einen...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Critical Section um globale Methode?

     
      by himitsu, 7. Jun 2017
    In Delphi gibt es noch viel mehr Implementationen, die das Gleiche wie eine CriticalSection/TMonitor erledigen.

    Dann noch paar Dinger mit Zusatzfunktionen, wie z.B. den TMultiReadExclusiveWriteSynchronizer (TMREWSync), welcher parallele Lesezugriffe erlaubt und nur bei einem Schreibzugriff alles komplett sperrt.
    Und für Zugriffe auf einzelne Interger, Pointer, Booleans und anderen Kleinkram...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Critical Section um globale Methode?

     
      by himitsu, 7. Jun 2017
    Im Prinzip ist Beides das Gleiche, nur mit 'ner anderen Syntax.

    Ist wie der unterschied zwischen StringList und StringList.Strings.



    Abgesehn, dass TMonitor was "Eigenes" ist und TCriticalSection die API vom Windows kapselt, aber von der Funktion her sind die schon vergleichbar.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Critical Section um globale Methode?

     
      by himitsu, 7. Jun 2017
    Im Prinzip ist TMonitor die umgedrehte Implementation für mehrere TCriticalSection.

    Du kannst in ein anderes Object eine CriticalSection rein tun und diese verwenden
    TMyObject = class
    Lock: TCriticalSecition;
    end;

    MyObj.Lock.Enter
    oder du nutzt das "versteckte" Feld in allen TObject, welches man über TMonitor ansprechen kann.
    TMyObject = class


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=himitsu&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=192619
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:48 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