您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

限制一次运行的最大线程数的正确方法?

限制一次运行的最大线程数的正确方法?

听起来您想用8个工人实现生产者/消费者模式。PythonQueue为此提供了一个类,它是线程安全的。

每个工作人员都应调用get()队列以检索任务。如果没有可用的任务,此调用将阻塞,从而导致工作人员空闲直到可用。然后,工作人员应执行任务,最后task_done()在队列上进行调用

您可以通过调用队列来将任务放入put()队列。

在主线程中,您可以调用join()队列以等待所有未完成的任务完成。

这种方法的好处是您无需创建和销毁线程,这很昂贵。工作线程将连续运行,但是当队列中没有任何任务时,将使用零cpu时间进入睡眠状态。

链接的文档页面上有这种模式的示例。)

其他 2022/1/1 18:36:49 有336人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶