繁体   English   中英

多处理进程不运行

[英]Multiprocessing process does not run

我一直在尝试运行一个非常简单的多处理程序(下面的脚本)。 但是,我得到的 output 很简单: "Finished" 进程或 function 都不会产生任何 output。 我如何确保它们确实运行并且我得到一个看起来像"Function 1" "Function 2" "Finished"的 output ?

抱歉,如果这是一个重复的问题,任何帮助将不胜感激。

import multiprocessing

def func(n):
    print('Function',n)

p1 = multiprocessing.Process(target=func, args=(1, ))
p2 = multiprocessing.Process(target=func, args=(2, ))

p1.start()
p2.start()

p1.join()
p2.join()

print("Finished")

电脑信息:Python 版本 3.8.8,macOS 12.0.1,Apple M1 芯片

尝试将__name__ == '__main__'添加到您的代码中,以确保新的 Python 解释器可以安全地导入主模块,而不会导致意外的副作用。

def func(n):
    print('Function',n)

if __name__ == '__main__':
    p1 = multiprocessing.Process(target=func, args=(1, ))
    p2 = multiprocessing.Process(target=func, args=(2, ))
    p1.start()
    p2.start()
    p1.join()
    p2.join()
    print("Finished")

来源: Python 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM