Normally each process has its own memory. A shared memory block is mapped by several, so no copying or pickling is needed, but you must synchronize access yourself and release it (in Python: close() in each process, unlink() once).