• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python-的线程池如何获取-work-队列中的消息数量

python线程池应用的是一种生产者消费者的模型

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 拜访到这个外部队列


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址