Shared Memory

Two processes, threads, or objects can communicate via SharedMemory. Using shared memory requires all participants to be located on the same PhysicalMachine or VirtualMachine. Shared memory is one of the fastest communication mechanisms compared, say, to Sockets, HTTP, IIOP, or DCOM. However, SharedMemory is a brittle LowLevelSolution that requires CarefulCoding with SynchronizationObjects?.


In particular, use of shared memory can lead to problems when passing around class objects as in C++: your object data goes into the shared memory while the class's virtual function tables stay in process memory, and aren't accessible from the process you're sharing with. See VirtualFunctionsAndSharedMemory.


EditText of this page (last edited November 26, 2014) or FindPage with title or text search