将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()
回调函数一般用于爬虫,开启多进程去爬多个网站的内容,哪个先返回就先处理哪个
原文地址:https://www.cnblogs.com/gzying-01/p/10380824.html
时间: 2024-10-31 00:18:23