所有人
我读过一些关于如何在python中运行子进程的线程,但似乎没有一个对我有帮助。可能是因为我不知道如何正确使用它们。我有几个方法希望同时运行,而不是按顺序运行,我认为subprocess模块会为我完成这项工作。在
def services():
services = [method1(),
method2(),
method3(),
mrthod4(),
method5()]
return services
def runAll():
import subprocess
for i in services():
proc = subprocess.call(i,shell=True)
这种方法的问题是method1()开始,method2()直到1结束才开始。我尝试了几种方法,包括使用子流程.Popen[]在我的服务方法中没有运气。有谁能帮我一把,教我如何让方法1-5同时运行?在
谢谢, 亚当
根据Python文档,
subprocess.call()
等待命令完成。您应该直接使用subprocess.Popen
对象,这将为您提供所需的灵活性。在在python3.2.x中,concurrent futures模块使这类事情变得非常简单。在
Python线程更适合您要查找的:http://docs.python.org/library/threading.html甚至多处理模块:http://docs.python.org/library/multiprocessing.html#module-multiprocessing。在
相关问题 更多 >
编程相关推荐