from concurrent.futures import ThreadPoolExecutor from loguru import logger import requests import time pool = ThreadPoolExecutor(max_<a href="https://www.gaodaima.com/tag/work" title="查看更多关于work的文章" target="_blank">work</a>ers=10) def func_get(): response = requests.get('http://127.0.0.1:5002') time.sleep(10) def func_callback(): pass for i in range(100): feature = pool.submit(func_get) feature.add_done_callback(func_callback)
在其余线程中调用 pool 的 queue 的 submit 接口的时候,task 会被提交给 pool 中的 queue
work thread 会从 queue 中去工作做,如果队列为空,则阻塞挂起
from concurrent.futures import ThreadPoolExecutor pool = ThreadPoolExecutor(max_workers=10) pool._work_queue.qsize()
能够应用 _work_queue
拜访到这个外部队列