诀窍是将Queue作为参数传递给初始化程序。似乎可以与所有Pool调度方法一起使用。
import multiprocessing as mpdef f(x): f.q.put('Doing: ' + str(x)) return x*xdef f_init(q): f.q = qdef main(): jobs = range(1,6) q = mp.Queue() p = mp.Pool(None, f_init, [q]) results = p.imap(f, jobs) p.close() for i in range(len(jobs)): print q.get() print results.next()if __name__ == '__main__': main()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)