進程池和線程池,python進程池和線程池

 2023-11-12 阅读 30 评论 0

摘要:假設循環爬取10000個網頁,需要開辟10000個線程,這個對cpu和內存會造成一定的消耗, 如果創建線程/進程池,比如創建50個,則這10000個線程都會分配到這50個線程中,,不會造成資源的浪費 進程池和線程池? # 線程池:一次性

假設循環爬取10000個網頁,需要開辟10000個線程,這個對cpu和內存會造成一定的消耗,

如果創建線程/進程池,比如創建50個,則這10000個線程都會分配到這50個線程中,,不會造成資源的浪費

進程池和線程池?

# 線程池:一次性開辟一些線程,我們用戶之際而給線程池提交任務,這些任務的調度交給線程池來完成from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutordef func(name):for i in range(100):print(name,i)if __name__ == '__main__':# 創建線程池with ThreadPoolExecutor(50) as t:  # 守護線程,with這里會等待線程執行完畢才會跳出來# with ThreadPoolExecutor(50) as t:  # 守護進程,改個名字而已        for i in range (100):  # 創建100個任務t.submit(func,name=f'線程{i}') # 提交任務 ,name為函數fuc的入參print('運行結束') # 上面運行完執行這個>>>
線程97 99線程9596
線程95 97
線程95 98
線程95 99
運行結束

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/173675.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息