synchronisation bei mehreren prozessen
-
hola leute
habe mehrere processe die mit einem memory mapped file arbeiten.
nun muss ich fuer eine synchronisation sorgen. ich will dabei aber, das nur, wenn ein schreibender zugriff erfolgt, auch keiner lesen koennen soll. wenn nur gelesen wird, brauche ich die synchronisation nicht. wie und womit mache ich das am besten ?Meep Meep
-
Sicher brauchst Du auch eine Synchronisation wenn gelesen wird, denn in diesem Falle darf ja keiner schreiben...
Such mal Multiple Reader/Single Writer Lock. Es gibt einige Implementierungen, die Semaphoren, Mutexe und Evenets verwenden. CriticalSeciton gehen ja nicht...
Such mal nach SWMRG:
http://pck338-48.feld.cvut.cz/cd_win/BUCKET/SWMRG.C
http://ymei.freeshell.org/gopher/Book/Programming Applications for MS Windows 4thed/ch10d.htm
-
Warum funktioniet CriticalSeciton nicht?
-
Weil eine Critical Section nur in einem Prozess fnktioniert! Du fragst aber noch prozessübergreifenden Locks.