我想分析一个简单的多进程 Python 脚本。我尝试了这段代码:
import multiprocessing
import cProfile
import time
def worker(num):
time.sleep(3)
print 'Worker:', num
if __name__ == '__main__':
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
cProfile.run('p.start()', 'prof%d.prof' %i)
我正在启动 5 个进程,因此 cProfile 生成 5 个不同的文件。每个日志仅显示内部发生的情况start
方法。我怎样才能获得描述的日志worker
函数(并显示每种情况大约花费 3 秒)?
您正在分析进程启动,这就是为什么您只能看到发生的情况p.start()
正如你所说——并且p.start()
子进程启动后返回。您需要在里面进行配置文件worker
方法,该方法将在子流程中调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)