AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Threads: Wieso gibt's keine InterlockedRead - Funktion?
Thema durchsuchen
Ansicht
Themen-Optionen

Threads: Wieso gibt's keine InterlockedRead - Funktion?

Ein Thema von TStringlist · begonnen am 1. Jun 2004 · letzter Beitrag vom 6. Jun 2004
Antwort Antwort
funkymick

Registriert seit: 3. Jun 2004
8 Beiträge
 
#1

Re: Threads: Wieso gibt's keine InterlockedRead - Funktion?

  Alt 3. Jun 2004, 09:28
ich arbeite auch im moment an einer multithreading-anwendung und muss aus mehreren threads variablen lesen bzw. schreiben... da hats bei mir auch oft genug exceptions gehagelt

dann habe ich von den CriticalSections zur absicherung von solchen lese/schreibvorgängen gelesen...

und unter delphi gibt es die klasse TMultiReadExclusiveWriteSynchronizer...

ein einfaches

T:=TMultiReadExclusiveWriteSynchronizer.Create;

erstellt das objekt und mit

T.BeginWrite;
bzw.
T.EndWrite;
kann ein schreibvorgang abgesichert werden... sprich solange nicht T.EndWrite; aufgerufen wurde, haben andere threads keinen lese-zugriff und warten bis endWrite aufgerufen wurde...

Voraussetzung ist, dass Lesevorgänge dann auch mit T.BeginRead; und T.EndRead; umgeben sind...

T.BeginWrite;
Variable1:=Wert;
T.EndWrite;

T.BeginRead;
Variable2:=Variable1;
T.EndRead;

Lesen funktioniert gleichteitig schreiben nur exclusiv...

Vielleicht Bringts dem einen oder anderen was...
  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 04:29 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