Python 多处理重新开始脚本



我在Python中使用multi processing。以下是我的代码演示:

在函数main中:

from multiprocessing import Process
def __name__ == "__main__":
    print "Main program starts here."
    SOME CODE....
    process_1 = Process(target=proc1,  args = (arg1, arg2))
    process_2 = Process(target=proc2,  args = (arg3, arg4))
    
    process_1.start()
    process_2.start()
    
    process_1.join()
    process_2.join()

在函数proc1proc2

def proc1(arg1, arg2):
    print "Proc1 starts from here."
    SOME CODE....

因此,我希望看到的输出是:

主程序从这里开始。

Proc1 从这里开始。

Proc2 从这里开始。

但是,我得到的是:

主程序从这里开始。

主程序从这里开始。

主程序从这里开始。

似乎proc1proc2都启动了main而不是过程。

我可以知道我的代码出了什么问题吗?

非常感谢。

def __name__ == "__main__":

应该是:

if __name__ == "__main__":

但是如果我使用 python 2.7 执行您的代码,我会得到:

    def __name__ == "__main__":
                  ^
SyntaxError: invalid syntax

如果我将def重命名为 if

Main program starts here.
proc2
proc1

所以我想知道你是如何让你的代码工作的(你可能在粘贴到这里之前修改了它)

相关内容

  • 没有找到相关文章

最新更新