zoukankan      html  css  js  c++  java
  • Python实现线程池

    供参考

    from multiprocessing import Pool
    import time
    
    
    def function(index):
        print(f'Start process: {index}')
        time.sleep(3)
        print(f'End process {index}')
    
    
    if __name__ == '__main__':
        pool = Pool(processes=3)
        for i in range(100):
            pool.apply_async(function, args=(i,))
    
        print('Main Process started', sep='
    ')
        pool.close()
        pool.join()
        print('Main Proess ended')

    100个进程需要执行,但是最多同时执行3个进程。

    # map方法的使用
    # 第一个参数就是要启动的进程对应的执行方法
    # 第二个参数是一个可迭代对象,其中的每个元素会被传递给这个执行方法
    
    from multiprocessing import Pool
    import urllib.request
    import urllib.error
    
    
    def scrape(url):
        try:
            urllib.request.urlopen(url)
            print(f'URL {url} Scraped')
        except (urllib.error.HTTPError, urllib.error.URLError):
            print(f'URL {url} not Scraped')
    
    
    if __name__ == '__main__':
        pool = Pool(processes=3)
        urls = [
            'http://www.baidu.com',
            'http://www.meituan.com/',
            'http://blog.csdn.net/',
            'http://xxxyxxx.net'
        ]
        pool.map(scrape, urls)
        pool.close()
  • 相关阅读:
    C open fopen read fread
    图像混合模式算法
    高级API和低级API
    strcpy_s与strcpy
    IsPowerOfTwo
    透明度算法
    POJ 2240(bellman_ford)
    POJ 1797(dijkstra)
    【转载】POJ 图论题目列表
    POJ 1502(Floyd)
  • 原文地址:https://www.cnblogs.com/zhzhang/p/15087895.html
Copyright © 2011-2022 走看看