python线程池的四种好处归纳
- 更新时间:2021-07-27 09:48:30
- 编辑:蒯恺玲
为网友们分享了相关的编程文章,网友束安歌根据主题投稿了本篇教程内容,涉及到Python相关内容,已被894网友关注,涉猎到的知识点内容可以在下方电子书获得。
参考资料
- Python计算机视觉编程 PDF 电子书 / 4.8 MB / Jan Erik Solem 推荐度:
- Python数据处理 PDF 电子书 / 12.0 MB / 杰奎琳·凯泽尔 推荐度:
- 《Python 3.0科学计算指南》代码实例资源 配套资源 / 2.68 MB / 克劳斯·福勒 推荐度:
- Head First Python(第2版) PDF 电子书 / 86.9 MB / Paul Barry 推荐度:
- 物联网Python开发实战 PDF 电子书 / 80.7 MB / 安翔 推荐度:
正文内容
我们整理一篇关于《python线程池的四种好处归纳》技术文章,觉得应该跟大家分享,把代码做了调试发布出来,希望大家能有所收获。
1、使用好处
提高性能:由于减去了大量新建终止线程的费用,重用了线程资源;
适用场景:适用于处理大量突发请求或需要大量线程完成任务,但实际任务处理时间短。
防御功能:可以有效避免系统因线程过多而导致系统负载过大而相应变慢的问题。
代码优势:使用线程池的语法比创建自己的线程更简单。
2、实例
""" @file : 004-线程池的使用.py @author : xiaolu @email : luxiaonlp@163.com @time : 2021-02-01 """ import concurrent.futures import requests from bs4 import BeautifulSoup def craw(url): # 爬取网页内容 r = requests.get(url) return r.text def parse(html): # 解析其中的内容 soup = BeautifulSoup(html, "html.parser") links = soup.find_all("a", class_="post-item-title") return [(link["href"], link.get_text()) for link in links] # 那链接和标题拿出来 if __name__ == '__main__': # 待爬取的网页链接 urls = [ "https://www.cnblogs.com/sitehome/p/{}".format(page) for page in range(1, 50 + 1) ] # craw with concurrent.futures.ThreadPoolExecutor() as pool: htmls = pool.map(craw, urls) htmls = list(zip(urls, htmls)) for url, html in htmls: print(url, len(html)) print("craw over") # parse with concurrent.futures.ThreadPoolExecutor() as pool: futures = {} for url, html in htmls: future = pool.submit(parse, html) futures[future] = url # for future, url in futures.items(): # print(url, future.result()) for future in concurrent.futures.as_completed(futures): url = futures[future] print(url, future.result())
以上就是python线程池的四种好处归纳,希望对大家有所帮助。
相关教程
-
11月编程语言排行榜 Python逆袭C#上升到第4
11月编程语言排行榜 Python逆袭C#上升到第4,无论在哪个榜单中 Python 都是保持着非同寻常的增长速度,为什么Python增长的这么快
发布时间:2019-08-26
-
python 两种方法修改文件的创建时间、修改时间、访问时间
这篇文章主要介绍了python 如何修改文件的创建时间、修改时间、访问时间的两种方法,帮助大家更好的利用python处理文件,感兴趣的朋友可以了解下
发布时间:2021-05-02