Cha*_*ame 1 python python-multiprocessing
我multi processing在Python中使用。以下是我的代码的演示:
在功能上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()
Run Code Online (Sandbox Code Playgroud)
在函数proc1和中proc2:
def proc1(arg1, arg2):
print "Proc1 starts from here."
SOME CODE....
Run Code Online (Sandbox Code Playgroud)
所以我期望看到的输出是:
主程序从这里开始。
Proc1从这里开始。
Proc2从这里开始。
然而,我得到的是:
主程序从这里开始。
主程序从这里开始。
主程序从这里开始。
看来 和 都proc1启动proc2了main而不是进程。
我可以知道我的代码有什么问题吗?
非常感谢。
def __name__ == "__main__":
Run Code Online (Sandbox Code Playgroud)
应该:
if __name__ == "__main__":
Run Code Online (Sandbox Code Playgroud)
但是如果我用 python 2.7 执行你的代码我得到:
def __name__ == "__main__":
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
如果我重命名def为if:
Main program starts here.
proc2
proc1
Run Code Online (Sandbox Code Playgroud)
所以我想知道你如何让你的代码工作(你可能在将其粘贴到此处之前对其进行了修改)