q.task_done()
if __name__ == '__main__':
    N = 10
arr = shm.zeros(N, dtype=np.uint8)
q = mp.JoinableQueue()
proc = mp.Process(target=worker, args=[q, arr])
proc.daemon = True
proc.start()
for i in range(3):
    q.put('data')
q.join()
print(arr.shape)
print(arr)
q.put('done')
proc.join()
How do I pass large numpy arrays between python subprocesses without saving to disk?