将n个任务交给n个进程去执行
每一个进程在执行完毕之后会有一个返回值,这个返回值交给callback函数指定的那个函数去处理
这样的话所有的进程哪一个执行的最后快,哪一个就可以先进性统计工作
这样就能在最短的时间内得到我们想要的结果
import time
import random
from multiprocessing import Pool
def get(i): # 使用i模拟网站地址 在子进程中执行
time.sleep(random.random()) # 模拟不同的网站返回数据的时间
print(i,'从网页上获取一个网页的内容')
return i,'网页内容'* i
def call_back(content): # 在主进程执行
print(content)
if __name__ == '__main__':
p = Pool(5)
ret_1 = []
for i in range(10):
p.apply_async(get,args=(i,),callback=call_back)
p.close()
p.join()
回调函数一般用于爬虫,开启多进程去爬多个网站的内容,哪个先返回就先处理哪个