爬虫案例(多进程(进程池)+队列+模块)案例
本帖最后由 Stubborn 于 2019-3-13 14:16 编辑代码模板大致这样啦!
你也可以自己去填充啦,PS为什么BUG总那么多,要秃头啦{:10_250:} {:10_250:} {:10_250:} {:10_250:}
from multiprocessing import Pool
import os,random,time
def run(name):
print("启动%d子线程--%s"%(name,os.getpid()))
start = time.time()
time.sleep(random.choice())
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("父进程结束---"
**** Hidden Message ***** 哦 {:5_109:} {:10_249:} {:5_103:} 看不懂。。。。 看看看
{:5_108:} Emmmmmm {:5_102:} 111 见识一下 学习一下 {:5_109:} 学习一下 看下
支持 滚进来学习了 kk
页:
[1]