Skip to content

Instantly share code, notes, and snippets.

@lmyyao
Created May 21, 2022 11:02
Show Gist options
  • Save lmyyao/61aeaa196fdd0d89bb183f2ad23f099f to your computer and use it in GitHub Desktop.
Save lmyyao/61aeaa196fdd0d89bb183f2ad23f099f to your computer and use it in GitHub Desktop.
numpy share memory in multiprocessing
import mmap
import numpy as np
import os
import time
rows, cols = 10, 8
mm = mmap.mmap(-1, rows * cols * 8)
a = np.ndarray((rows, cols), dtype=np.int64, buffer=mm)
pid = os.fork()
if pid == 0: # In a child process
time.sleep(1)
print("child", a)
exit(0)
else:
a[0][0] = 1
print("parent", a)
time.sleep(3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment