Python 多处理空数组
Python Multiprocessing empty array
我只是在 Python 中尝试多处理,但我遇到了问题。
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()
在 运行 代码之后,我得到 'arr' 数组的空值。
更新:
任何只想解决此类问题的人最好使用线程。
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()
我只是在 Python 中尝试多处理,但我遇到了问题。
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()
在 运行 代码之后,我得到 'arr' 数组的空值。
更新: 任何只想解决此类问题的人最好使用线程。
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()