如何修复Python多处理P

2024-04-25 11:31:32 发布

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

我正在尝试使用Python的多处理来编写一些并行代码。不幸的是,在代码到达池的初始化时,它似乎根本不起作用。它在调试模式下工作得很好,但是在正常运行时遇到了问题,我不得不手动终止它来停止它。你知道吗

我试过使用多进程库,但没有用。我已经在网上冲浪了好几天,试图找到任何有用的东西,但都没有用。你知道吗

from multiprocessing import Pool

def foo(x):
    return x

if __name__ == '__main__':
    print('starting')
    pool = Pool(1)
    print('pool created')
    result = pool.map(foo,[1,2,3])
    print('done mapping')
    print(result)
    pool.close()
    pool.join()
    print('final done')

我希望输出结果是这样的:

starting
pool created
done mapping
[1, 2, 3]
final done

这就是我使用WingIDE的集成调试器运行时得到的结果。当我正常运行程序时,我得到:

starting

接着是一个无限循环,把我锁在外面。 让我知道如果我需要添加什么到这个职位,这是我的第一次,我不习惯这些论坛。你知道吗

我正在笔记本上使用Windows10Education1803Build17134.706。你知道吗


Tags: 代码fromfoo进程手动resultmappingfinal