zoukankan      html  css  js  c++  java
  • Python网编_进程池的回调函数

    将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()
    回调函数一般用于爬虫,开启多进程去爬多个网站的内容,哪个先返回就先处理哪个
  • 相关阅读:
    BZOJ3403: [Usaco2009 Open]Cow Line 直线上的牛
    lintcode入门篇三
    lintcode入门篇二
    lintcode入门篇一
    matplotlib
    Pandas
    Numpy
    缓存
    Django性能优化的几种方法
    python总结十一
  • 原文地址:https://www.cnblogs.com/gzying-01/p/10380824.html
Copyright © 2011-2022 走看看