亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

python線程池的四種好處總結

瀏覽:16日期:2022-06-20 18:36:12
1、使用好處

提高性能:由于減去了大量新建終止線程的費用,重用了線程資源;

適用場景:適用于處理大量突發請求或需要大量線程完成任務,但實際任務處理時間短。

防御功能:可以有效避免系統因線程過多而導致系統負載過大而相應變慢的問題。

代碼優勢:使用線程池的語法比創建自己的線程更簡單。

2、實例

'''@file : 004-線程池的使用.py@author : xiaolu@email : [email protected]@time : 2021-02-01'''import concurrent.futuresimport requestsfrom 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())

知識點補充:

線程池的使用

線程池的基類是 concurrent.futures 模塊中的 Executor,Executor 提供了兩個子類,即 ThreadPoolExecutor 和ProcessPoolExecutor,其中 ThreadPoolExecutor 用于創建線程池,而 ProcessPoolExecutor 用于創建進程池。

如果使用線程池/進程池來管理并發編程,那么只要將相應的 task 函數提交給線程池/進程池,剩下的事情就由線程池/進程池來搞定。

Exectuor 提供了如下常用方法:

submit(fn, *args, **kwargs):將 fn 函數提交給線程池。*args 代表傳給 fn 函數的參數,*kwargs 代表以關鍵字參數的形式為 fn 函數傳入參數。

map(func, *iterables, timeout=None, chunksize=1):該函數類似于全局函數 map(func, *iterables),只是該函數將會啟動多個線程,以異步方式立即對 iterables 執行 map 處理。

shutdown(wait=True):關閉線程池。

程序將 task 函數提交(submit)給線程池后,submit 方法會返回一個 Future 對象,Future 類主要用于獲取線程任務函數的返回值。由于線程任務會在新線程中以異步方式執行,因此,線程執行的函數相當于一個“將來完成”的任務,所以 Python 使用 Future 來代表。

到此這篇關于python線程池的四種好處總結的文章就介紹到這了,更多相關python線程池的四種好處歸納內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 免费观看一级成人毛片软件 | 视频在线二区 | 宅男午夜剧场 | 中文字幕无线码中文字幕网站 | 午夜水蜜桃视频在线观看 | 国产成人mv免费视频 | 加勒比一本大道香蕉在线视频 | 农村寡妇一级毛片免费播放 | 亚洲最新黄色网址 | 刺激花蒂抽搐视频在线看 | 久久九九综合 | 日韩在线二区全免费 | 小明免费视频一区二区 | 又黄又爽的成人免费网站 | 欧美色图一区二区 | 国产一级淫片a免费播放口欧美 | 天天爽夜夜爽人人爽 | 中文字幕一区2区 | 高清黄色一级片 | 中文字幕久久网 | 免费又黄又粗又爽大片 | 精品国产1区| a一级毛片 | 免费黄色片视频 | 成熟女人特级毛片www免费 | 一级做a爰片性色毛片男 | 亚洲国产成人精品青青草原100 | 国产欧美另类久久久精品免费 | 综合久久久久综合 | 你懂的网站在线播放 | 欧美精品无需播放器在线观看 | 久久国产精品老女人 | 国产一区二区在线视频 | 一区二区三区视频网站 | 日韩一级片视频 | 欧美综合精品一区二区三区 | 日韩亚洲欧美视频 | 毛片a级| 黄视频网站免费看 | 成人啪精品视频免费网站 | 亚洲精品一区二区三区在 |