|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Stubborn 于 2019-3-13 14:16 编辑
代码模板大致这样啦!
你也可以自己去填充啦,PS为什么BUG总那么多,要秃头啦
- from multiprocessing import Pool
- import os,random,time
- def run(name):
- print("启动%d子线程--%s"%(name,os.getpid()))
- start = time.time()
- time.sleep(random.choice([1,2,3]))
- end = time.time()
- print("结束%d子线程--%s--耗时%.2f"%(name,os.getpid(),end-start))
- if __name__ == '__main__':
- print("主(父)进程启动----%s"%(os.getpid()))
- #Pool:进程池 默认大小是CPU核心数
- pp = Pool()
- for i in range(17): #rang()大于CPU核心数,或者线程池数
- #数量小于CPU核心,会同时启动,数量大于CPU核心,分批轮流启动
- #子线程执行没有顺序
- #创建进程,放入进程池统一管理
- pp.apply_async(run,args=(i,))
- #使用进程池,在调用join,必须先调用close,调用close不能添加新的进程
- pp.close()
- #进程池对象调用join,会等待经常池中所有的子进程结束在去执行父进程
- pp.join()
- print("父进程结束---"
复制代码
|
|