I am just trying multiprocessing in Python and I got a problem.
from multiprocessing import Process
w = 4;
arr = []
def func(num):
for i in range(num,50,w):
arr.append(i)
if __name__ == '__main__':
p1 = Process(target=func, args=(1,))
p1.start()
p2 = Process(target=func, args=(2,))
p2.start()
p1.join()
p2.join()
After running the code I get empty values for 'arr' array.
UPDATE: Anyone who just want to figure a problem like this better use threading.
import threading
w = 4;
arr = []
def func(num):
for i in range(num,50,w):
arr.append(i)
if __name__ == '__main__':
jobs = []
jobs.append(threading.Thread(target=func, args=(1,)))
jobs.append(threading.Thread(target=func, args=(2,)))
jobs.append(threading.Thread(target=func, args=(3,)))
for j in jobs:
j.start()
for j in jobs:
j.join()