我目前正在使用python 2.6并尝试使用不同的输入多次运行另一个python脚本,无论我在后台运行它做什么,似乎脚本等待进程完成,然后再继续到下一行。我尝试过使用
subprocess.Popen(Some.Func(Args))
和
T1 = threading.Thread(Some.Func(Args))
T1.start()
我希望能够通过多次调用Some类来完成,而无需等待任何特定的类完成。
答案 0 :(得分:1)
您没有正确地将参数传递给您的类。您想使用multiprocessing.Process
或threading.Thread
。分别指定target
和args
。以下示例演示并行运行十个进程,然后并行运行十个进程:
#! /usr/bin/env python3
import multiprocessing
import threading
def main():
for executor in multiprocessing.Process, threading.Thread:
engines = []
for _ in range(10):
runner = executor(target=for_loop, args=(0, 10000000, 1))
runner.start()
engines.append(runner)
for runner in engines:
runner.join()
def for_loop(start, stop, step):
accumulator = start
while accumulator < stop:
accumulator += step
if __name__ == '__main__':
main()