gpt4 book ai didi

Windows 8.1 上的 Python 多处理池仅生成一名工作人员

转载 作者:太空狗 更新时间:2023-10-29 17:51:05 24 4
gpt4 key购买 nike

我目前有这段代码(也可以随意评论它:))

def threaded_convert_to_png(self):
paths = self.get_pages()
pool = Pool()
result = pool.map(convert_to_png, paths)
self.image_path = result

在 Intel i7 上,它在 Linux 上运行时产生八个工作器;然而,当运行 Windows 8.1 Pro 时,它只会产生一名 worker 。我检查过,cpu_count() 在 Linux 和 Windows 上都返回 8。

  • 我是否遗漏了什么或做错了什么?
  • 有办法解决这个问题吗?

附言这是在 Python 2.7.6 中

最佳答案

有一种简单的方法可以确定您的池中发生了什么 - 打开多处理调试。你可以这样做:

import logging
from multiprocessing import util

util.log_to_stderr(level=logging.DEBUG)

在脚本运行时,您将获得有关进程运行、生成和退出的完整信息。

但无论如何,进程池总是生成 N 个进程(其中 N - “进程”参数值或 cpu_count),但进程之间的任务分配可能不均匀 - 这取决于任务运行时间。

关于Windows 8.1 上的 Python 多处理池仅生成一名工作人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21939457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com