Shared memory zwischen Prozessen

09/09/2011 - 07:55 von Curtis Newton | Report spam
Hallo,

ich habe mir mal angeschaut, wie ich zwischen mehreren Prozessen
Speicher teilen kann. Da bleibt wohl so richtig nur Memory mapped files
übrig, oder? Ich will eigentlich nur gemeinsamen Zugriff auf einen
unsigned int. Gibt es da nichts einfacheres? Ich habe in einem schwachen
Moment überlegt, ob ich den Wert einfach in die Registry oder so
schreibe. Mache ich natürlich nicht. Aber sowas richtig einfaches ist
mir sonst nicht eingefallen.

Jemand eine Idee?

C.
 

Lesen sie die antworten

#1 Curtis Newton
09/09/2011 - 09:04 | Warnen spam
On 2011-09-09, Curtis Newton wrote:

ich habe mir mal angeschaut, wie ich zwischen mehreren Prozessen
Speicher teilen kann. Da bleibt wohl so richtig nur Memory mapped files
übrig, oder? Ich will eigentlich nur gemeinsamen Zugriff auf einen
unsigned int. Gibt es da nichts einfacheres?



Ach ist ja doch ganz einfach. Die Doku sagt ja:

Mapped views of a file mapping object maintain internal references to
the object, and a file mapping object does not close until all
references to it are released.

Das heißt ja, ich kann in jedem thread es so machen:

CreateFileMapping mit gleichen Namen
MapViewOfFile
...
CopyMemory oder lesender Zugriff

UnmapViewOfFile
CloseHandle

Ich hatte das so verstanden, dass nur der erste Thread, der Zugriff aufs
Memory haben will, CreateFileMapping machen darf und alle folgenden nur
noch OpenFileMapping.

C.

Ähnliche fragen