gpt4 book ai didi

python 池不起作用

转载 作者:行者123 更新时间:2023-12-01 04:03:29 25 4
gpt4 key购买 nike

我正在尝试使用多线程,为了首先保持简单,我正在运行以下代码:

import multiprocessing as mp

pool = mp.Pool(4)

def square(x):

return x**2

results=pool.map(square,range(1,20))

据我了解,结果应该是一个包含 1 到 20 的方 block 的列表。但是,代码似乎没有终止。(在没有池眨眼间完成的情况下执行相同操作,这运行了几分钟,然后我手动停止它)。

附加信息:任务管理器告诉我,附加的 python 进程已启动并正在运行,但使用了 0% 的 CPU;当程序运行时,其他不相关的进程(例如 Firefox)的 CPU 使用率也会飙升。我使用的是 Windows 8 和 i5-4300U cpu(池化为 2 个而不是 4 个也没有帮助)

我做错了什么?Pool 类上有什么好的资源可以帮助我了解我的代码有什么问题吗?

最佳答案

带有池初始化的代码应该位于__name__ == "__main__"内,因为multiprocessing每次都会导入模块以生成新进程。

import multiprocessing as mp

def square(x):
return x**2

if __name__ == '__main__':
pool = mp.Pool(4)
results=pool.map(square,range(1,20))

关于python 池不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36101140/

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