# Pool进程池类
from multiprocessing import Pool
import os
import time
import random def run(index):
print("子进程%s启动----进程ID:%s"%(index, os.getpid()))
t1 = time.time()
time.sleep(random.random()*5)
t2 = time.time()
print("子进程%s结束----进程ID:%s--耗时:%2f" % (index, os.getpid(),t2-t1)) if __name__ == "__main__":
print("启动主进程") #利用进程池类创建进程池对象
#参数:表示可以同时执行的进程数量
#由于pool的默认值为CPU核心数,如果有4个核心,则至少需要5个子进程才能看到结果
   #Pool()里面的参数为数字,代表同时几个子进程一起执行任务
pool = Pool()
for i in range(8):
#创建子进程并放入进程池中统一管理
     #参数为要执行的任务,和给任务传的参数
pool.apply_async(run, args=(i,)) #进程池对象调用join()之前必须先调用close(),意思是关闭进程池,调用close()之后就不能再把创建出来的子进程中,放入到进程池中统一管理了
pool.close()
#pool对象调用join方法,主进程会等待进程池中所有的子进程结束在执行主进程
pool.join() print("结束主进程")
启动主进程
子进程0启动----进程ID:11836
子进程1启动----进程ID:3828
子进程2启动----进程ID:4328
子进程3启动----进程ID:14076 #由此能看出同时运行4个子进程,每结束一个子进程,然后开启一个子进程,并且一直保持4个子进程同时运行,运维pool()的参数默认为核心的数量,是可以自定义的
子进程2结束----进程ID:4328--耗时:0.921062
子进程4启动----进程ID:4328
子进程1结束----进程ID:3828--耗时:1.192999
子进程5启动----进程ID:3828
子进程4结束----进程ID:4328--耗时:1.110084
子进程6启动----进程ID:4328
子进程3结束----进程ID:14076--耗时:2.043996
子进程7启动----进程ID:14076
子进程5结束----进程ID:3828--耗时:3.409121
子进程0结束----进程ID:11836--耗时:4.916067
子进程7结束----进程ID:14076--耗时:3.830013
子进程6结束----进程ID:4328--耗时:4.367969
结束主进程

最新文章

  1. AJAX POST&跨域 解决方案 - CORS
  2. css透明设置
  3. p/invoke碎片,对结构体的处理
  4. Git的基础
  5. HTML5实战1
  6. redis 安装及相关问题解决
  7. 破解windows server 2008 的登录密码。有效的
  8. 服务器 CentOS上yum安装Nginx服务
  9. mysql创建用户和创建数据库赋值用户操作权限
  10. phpwind数据同步本地之后板块排版乱
  11. Tomcat修改网址旁边的小图标
  12. 页面常见效果js实现
  13. bzoj 1041: [HAOI2008]圆上的整点 本原勾股數組
  14. BZOJ 1653 [Usaco2006 Feb]Backward Digit Sums ——搜索
  15. 使用ABP打造SAAS系统(1)——环境准备
  16. [Swift]LeetCode80. 删除排序数组中的重复项 II | Remove Duplicates from Sorted Array II
  17. [IOI2007] sails 船帆
  18. 《Java编程思想第四版》第 16 章 设计范式-提到观察者模式
  19. 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办?
  20. 项目中Java Resources有红叉,其它没有,解决办法

热门文章

  1. 小程序之背景音乐——wx.backgroundAudioManager
  2. 「校内训练 2019-04-23」越野赛车问题 动态dp+树的直径
  3. Linux中检查内存使用情况的命令
  4. 51nod 1836:战忽局的手段(期望)
  5. springboot2集成redis5报错:io.lettuce.core.RedisException: io.lettuce.core.RedisConnectionException: DENIED Redis is running in protected
  6. 【丛林】HTML Table 表格浅谈(边框、隔行变色
  7. CSS定位,转载的
  8. Go的struct
  9. 102.kaldi 斯坦福语音识别工具的编译
  10. shell脚本——注释(单行注释 多行注释)