博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python实现多进程
阅读量:6812 次
发布时间:2019-06-26

本文共 644 字,大约阅读时间需要 2 分钟。

Python可以实现多线程,但是因为Global Interpreter Lock (GIL),Python的多线程只能使用一个CPU内核,即一个时间只有一个线程在运行,多线程只是不同线程之间的切换,对多核CPU来说,就是巨大的浪费。如4核CPU,实际上只利用了一个核,CPU利用率只有25%。要充分利用多核CPU,可以实现Python的多进程。

首先,import相关的包:

from multiprocessing import Process, Managerimport multiprocessing

生成进程实例,并启动进程:

p = Process(target = Function_Name, args = (Function_Args_List))p.start()

其中Function_Name是进程运行的函数名称,Function_Args_List是函数的参数列表,需要注意的是,以上代码必须写在if __name__ == '__main__':下面,否则会报错。

进程运行完了再执行父进程后面的代码,可以用join()来实现:

p.join()

如果是多个进程,一定要让多个进程都start()以后再join(),否则就成了上一个进程运行完了再开始下一个进程。

线程可以数据共享,进程是不能数据共享的,要实现数据共享,可以用:

m_list = multiprocessing.Manager().list(list)

以上代码在进程间共享了列表list。

转载地址:http://dczzl.baihongyu.com/

你可能感兴趣的文章
轻松监控网络和系统,让网管软件来的更简单一些吧
查看>>
电信领域解决方案
查看>>
.net知识和学习方法系列(二十二)CLR-方法的参数out,ref
查看>>
网络系统传输负载测试
查看>>
一点感悟
查看>>
牛书终于在卓越网上架
查看>>
结合二维码打造安全的手机远程运维管理平台
查看>>
【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)...
查看>>
统一沟通-技巧-12-Lync-CX600-3000-5000-配置-internet
查看>>
Linux双机热备解决方案之Heartbeat
查看>>
angerfire宋杨的桌面秀
查看>>
Javascript模板引擎handlebars使用实例及技巧
查看>>
GoldenGate测试(七)
查看>>
动态访问DetailsView内的控件
查看>>
[珠玑之椟]位向量/位图的定义和应用
查看>>
数据对齐
查看>>
linux设置 让oracle10g自启动
查看>>
用JQuery给图片添加鼠标移入移出事件
查看>>
ALTER TABLE & ALTER TYPES
查看>>
Hadoop-调优剖析
查看>>