Python多处理.池在窗户上很奇怪

2024-10-01 17:21:35 发布

您现在位置:Python中文网/ 问答频道 /正文

这里定义了一个超级简单的python脚本

import multiprocessing
from multiprocessing import Pool

print "CPUs: " + str(multiprocessing.cpu_count())
convertPool = Pool(multiprocessing.cpu_count())

在Linux上,这看起来像我预期的那样,程序只是启动,然后打印出内核数量,然后退出。然而,在Windows上,这个程序将继续调用新的python命令并输出“cpu:4”(我有4个内核),并且永远不会停止运行,最终会杀死这个机器。有人能解释一下这里发生了什么事吗?在

谢谢

编辑: 我现在有了下面的程序,但仍然没有像我预期的那样运行

^{pr2}$

在ConvertImage.exe是一个我自己编写的可执行文件foo和bar只是占位符。在Linux上,这将启动多处理.cpu_计数()数量ConvertImage.exe处理完毕再打印一次全部处理完毕ConvertImage.exe进程已完成。在Windows上,这会立即触发len(bar)ConvertImage.exe处理完毕,然后立即打印处理完毕并退出。如何使Windows版本的行为与Linux版本类似?在


Tags: import程序版本数量定义linuxwindowscount
1条回答
网友
1楼 · 发布于 2024-10-01 17:21:35

我弄明白了,它工作正常,我的示例程序发布错误,因为我忘记了一些导入,这导致了所描述的行为。在我得到所有的导入正确后,这个例子在Windows和Linux上运行得很好。在

相关问题 更多 >

    热门问题