print 'Waiting for all subprocesses done ...'
p.close() #关闭进程池
p.join()#等待开辟的所有进程执行完后,主进程才继续往下执行
print 'All subprocesses done'
mainEnd = time.time()#记录主进程结束时间
print 'All process ran %0.2f seconds.' % (mainEnd-mainStart)#主进程执行时间123456789101112131415161718192021222324
执行结果:
开头部分
Run the main process (30920).
Waiting for all subprocesses done …
Run child process Process0 (32396)
Run child process Process3 (25392)
Run child process Process1 (28732)
Run child process Process2 (32436)
末尾部分:
Run child process Process15 (25880)
All subprocesses done
All process last 2.49 seconds.
相关说明:
这里进程池对并发进程的限制数量为8个,而程序运行时会产生16个进程,进程池将自动管理系统内进程的并发数量,其余进程将会在队列中等待 。限制并发数量是因为,系统中并发的进程不是越多越好,并发进程太多,可能使CPU大部分的时间用于进程调度,而不是执行有效的计算 。
采用多进程并发技术时,就单个处理机而言,其对进程的执行是串行的 。但具体某个时刻哪个进程获得CPU资源而执行是不可预知的(如执行结果的开头部分 , 各进程的执行顺序不定),这就体现了进程的异步性 。
如果单个程序执行14次run_proc函数,那么它会需要至少16秒,通过进程的并发,这里只需要2.49秒,可见并发的优势 。
关于python起进程的函数和python启动进程并获取pid的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 咖啡直播禁忌话术,咖啡直播禁忌话术是什么
- 平板电脑好还是安卓平板好,平板是ipad好还是安卓
- 工业风格的电视墙怎么装修,工业风电视背景墙效果图
- thinkphp绑定微信,thinkphp安装连接php
- c语言函数实验报告 C语言函数实验报告总结
- linux倒退命令,linux怎么后退命令
- 电脑密码怎么用u盘修改,u盘改电脑开机密码
- idea怎么mysql Idea怎么打开别人的项目
- gis填挖计算,gis挖空