Hello ,
it is not working - only a little test - what is wrong ?
# Python -- v3.8 - windows 10
from multiprocessing import Process, Queue, managers
import time
def with_shared_memory():
with managers.SharedMemoryManager() as smm:
sl = smm.ShareableList(range(2000))
# Divide the work among two processes, storing partial results
in sl
p1 = Process(target=do_work, args=(sl, 0, 1000))
print (p1)
p2 = Process(target=do_work, args=(sl, 1000, 2000))
p1.start()
p2.start() # A multiprocessing.Pool might be more efficient
p1.join()
p2.join() # Wait for all work to complete in both processes
total_result = sum(sl) # Consolidate the partial results now
in sl
print (total_result)
def do_work(data,von,bis):
print (von,bis)
for i in range(von,bis):
data.append(i)
with_shared_memory()