6
Python多重处理模块的.join()方法到底在做什么?
了解Python 多重处理(来自PMOTW文章),并且希望澄清一下join()方法的。 在2008年的旧教程中,它指出,没有p.join()以下代码中的调用,“子进程将处于空闲状态而不会终止,成为必须手动杀死的僵尸”。 from multiprocessing import Process def say_hello(name='world'): print "Hello, %s" % name p = Process(target=say_hello) p.start() p.join() 我添加的打印输出PID,以及一个time.sleep测试,并就我所知道的,在自己的进程终止: from multiprocessing import Process import sys import time def say_hello(name='world'): print "Hello, %s" % name print 'Starting:', p.name, p.pid sys.stdout.flush() print 'Exiting :', p.name, p.pid sys.stdout.flush() time.sleep(20) p = Process(target=say_hello) …