当前位置: 首页 > 后端技术 > Python

python的线程池如何获取工作队列中的消息数

时间:2023-03-25 21:04:11 Python

python的线程池使用生产者消费者模型fromconcurrent.futuresimportThreadPoolExecutorfromloguruimportloggerimportrequestsimporttimepool=ThreadPoolExecutor(max_workers=10)deffunc_get():response=requests.get('http://127.0.0.1:5002')time.sleep(10)deffunc_callback():passforiinrange(100):feature=pool.submit(func_get)特征。当add_done_callback(func_callback)在其他线程调用pool的queue的submit接口时,任务就会被提交到pool的queue中。工作线程将从队列中执行任务。如果队列为空,则阻塞挂起fromconcurrent.futuresimportThreadPoolExecutorpool=ThreadPoolExecutor(max_workers=10)pool._work_queue.qsize()可以使用_work_queue来访问这个内部队列参考:Python的线程池的回调函数在主线程或工作线程中运行?