zoukankan      html  css  js  c++  java
  • python线程池

    https://blog.csdn.net/qq_33961117/article/details/82587873
    #!/usr/bin/python # -*- coding: utf-8 -*- from concurrent.futures import ThreadPoolExecutor from threading import current_thread import time import requests def get(url): print('%s GET %s' % (current_thread().name, url)) time.sleep(3) response = requests.get(url) if response.status_code == 200: res = response.text else: res = '下载失败' return res def parse(future): time.sleep(1) res = future.result() print('%s 解析结果为%s' % (current_thread().name, len(res))) if __name__ == '__main__': urls = [ 'https://www.baidu.com', 'https://www.sina.com.cn', 'https://www.tmall.com', 'https://www.jd.com', 'https://www.python.org', 'https://www.openstack.org', 'https://www.baidu.com', 'https://www.baidu.com', 'https://www.baidu.com', ] # 线程池内线程数 p = ThreadPoolExecutor()# ThreadPoolExecutor(4) 最多启用4个线程 不给则使用计算机的最大线程数 start = time.time() for url in urls: future = p.submit(get, url) future.add_done_callback(parse) p.shutdown(wait=True) print('', current_thread().name) print('完成时间', time.time() - start)
  • 相关阅读:
    模块和包
    异常处理
    re模块下的的常用方法
    lambda匿名函数sorted排序函数filter过滤函数map映射函数
    内置函数
    生成器函数,迭代器
    网站架构伸缩性概论
    网站架构高可用小结
    Apache的三种工作模式
    HTTP协议
  • 原文地址:https://www.cnblogs.com/kexb/p/10045629.html
Copyright © 2011-2022 走看看