AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi TMonitor: Klassenmethoden benutzen oder neue Instanz erstellen?
Thema durchsuchen
Ansicht
Themen-Optionen

TMonitor: Klassenmethoden benutzen oder neue Instanz erstellen?

Ein Thema von uups · begonnen am 25. Apr 2019 · letzter Beitrag vom 26. Apr 2019
 
uups

Registriert seit: 23. Aug 2004
68 Beiträge
 
#1

TMonitor: Klassenmethoden benutzen oder neue Instanz erstellen?

  Alt 25. Apr 2019, 19:48
Hallo!

Immer wieder lese ich von spürbaren Performance-Steigerungen durch den Einsatz von TMonitor anstelle von TCriticalSection. Es werden sogar per default die TMonitor-Klassenmetoden aufgerufen, wenn man die TCriticalSection in den plattformübergreifenden Anwendungen einsetzt. Dabei verstehe ich nicht ganz, wie der Schutzmechanismus von TMonitor funktioniert. Ich meine, im Fall der TCriticalSection erstelle ich für jeden zu schützenden Bereich eine eigene Instanz davon und betrete diese bei jedem Zugriff auf den "Schützling". Bei TMonitor werden immer nur die Klassenmethoden wie Enter und Exit aufgerufen (zumindest habe ich kein einziges Beispiel gefunden, wo es nicht der Fall wäre). Was passiert wenn ich mehrere zu schützende Variablen habe? Wie ekennt TMonitor, was zu schützen ist?

Auch erwarten die Enter() und Exit() von TMonitor einen TObject als Parameter. In allen Beispielen wird hier eine einfache, nur für diesen Zweck erstellte Instanz von TObject übergeben. Das verstehe ich auch nicht ganz.
  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 21:58 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