Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CriticalSection verwenden bei MMF Multithreading ? (https://www.delphipraxis.net/25935-criticalsection-verwenden-bei-mmf-multithreading.html)

supermuckl 15. Jul 2004 08:27


CriticalSection verwenden bei MMF Multithreading ?
 
ich baue gerade eine datenbank die über netzwerk daten empfangen und senden kann.

die daten liegen in daten und index files vor auf die ich mit memory mapped files zugreife

wenn ich nun mehrere client threads bei meinem server habe.. und diese clients dann gleichzeitig auf das gemeinsam geteilte MMF zugreifen wollen.. muss ich da explizit die zugreifenden stellen mit Critical sections synchronisieren ? oder kann ich einfach wild drauf los schreibend&lesend auf ein und das selbe MMF mit mehreren threads drauf zugreifen ?

Luckie 15. Jul 2004 11:08

Re: CriticalSection verwenden bei MMF Multithreading ?
 
Überleg doch mal was passiert, wenn ein Client schreibt, während ein anderer gleichzeitig liest. Ich glaube kaum, dass der lesende Client noch konsistente Daten bekommt. ;) Mit MMF's kenne ich mich nicht so aus, aber wenn sie schon von Haus aus was eingebaut haben, dass das synchronisiert, dann musst du dir natürlich keine Gedanken machen.

supermuckl 15. Jul 2004 12:16

Re: CriticalSection verwenden bei MMF Multithreading ?
 
hehe das weis ich ja.. aber genau das ist meine frage.. synched windoof mit MMF schon multible zugriffe selbst oder muss ich es mit critical sections tun..

Vjay 16. Jul 2004 07:09

Re: CriticalSection verwenden bei MMF Multithreading ?
 
Da wird wohl nur Ausprobieren helfen.
Ansonsten würd ich sagen sicher ist sicher ^^.

Basilikum 16. Jul 2004 08:52

Re: CriticalSection verwenden bei MMF Multithreading ?
 
Zugriffe auf Memory-Mapped-Files kann Windows nicht synchronisieren, da sie indirekt per Speicherbereich erfolgen... keine Funktionen vorhanden, die man als atomar (unteilbar) definieren könnte...
bei Memory-Mapped-Files die von 1 Prozess verwendet werden, werden die Zugriffe am besten mit Critical-Sections serialisiert, bei mehreren Prozessen sind Mutex notwendig...

supermuckl 16. Jul 2004 10:05

Re: CriticalSection verwenden bei MMF Multithreading ?
 
alles klar :) danke für die hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 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