通过wait()判断线程执行的状态:wait(fs, timeout=None, return_when=ALL_COMPLETED),wait接受3个参数,fs表示执行的task序列;timeout表示等待的最长时间,超过这个时间即使线程未执行完成也将返回;return_when表示wait返回结果的条件,默认为ALL_COMPLETED全部执行完成再返回
from concurrent.futures import ThreadPoolExecutor import requests pool = ThreadPoolExecutor(10) def task(url): response = requests.get(url) print(url,response) url_list = ( "https://www.bing.com", "https://www.shihu.com", "https://www.sina.com", "https://www.baidu.com", "https://www.cnblogs.com", "https://music.163.com/#" ) for url in url_list: pool.submit(task,url) pool.shutdown(wait=True)
https://www.bing.com <Response [200]> https://www.baidu.com <Response [200]> https://www.cnblogs.com <Response [200]> https://music.163.com/# <Response [200]> https://www.sina.com <Response [200]>
原文:https://www.cnblogs.com/houyu/p/10764748.html