赞
踩
Python中的multiprocessing包是一个多进程管理包,可以用来创建多进程。
multiprocessing包下的Queue是多进程安全的队列,我们可以通过该Queue来进行多进程之间的数据传递。
我们可以通过下面这段代码演示多进程的使用,并将每个进程的结果保存到queue中,最后统一进行输出。
import random import time import multiprocessing def worker(name, q): t = 0 for i in range(10): print(name + " " + str(i)) x = random.randint(1, 3) t += x time.sleep(x * 0.1) q.put(t) q = multiprocessing.Queue() jobs = [] for i in range(10): p = multiprocessing.Process(target=worker, args=(str(i), q)) jobs.append(p) p.start() for p in jobs: p.join() results = [q.get() for j in jobs] print(results)
输出结果:
...... 6 8 9 8 2 7 1 9 4 9 7 9 6 9 2 8 5 9 9 9 2 9 [17, 18, 18, 18, 18, 19, 20, 20, 20, 22] Process finished with exit code 0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。