Python -- 多进程实现

来源:互联网 发布:苹果tv怎么设置网络 编辑:程序博客网 时间:2024/06/05 19:15

Python中使用GIL(解释器全局锁),使得对于任何Python程序,不管有多少的处理器,任何时候都总是只有一个线程在执行。因而,在python中使用多线程很难提升效率。

所以,使用多进程!!

直接上代码:

import multiprocessingdef f(i, q):q.put(i, block=False)def p(q):processes = []p1 = multiprocessing.Process(target = f, args = (1,q,))p2 = multiprocessing.Process(target = f, args = (2,q,))processes.append(p1)processes.append(p2)for p in processes:p.daemon = Truep.start()p.join()while not q.empty():ss = q.get()print ssif __name__ == '__main__':q = multiprocessing.Queue()#使用队列传递数据p(q)

以上代码的执行结果:
12



原创粉丝点击