Python multiproccesing.Procces不能并行运行

时间:2018-06-22 13:33:31

标签: python-3.x parallel-processing multiprocessing

为什么下面的代码进程不能并行工作?

当我运行代码时,我正在等待它将并行运行,但是它首先等待第一个进程完成时,然后等待第二个进程,依此类推。没有并行运行。可能我在并行执行Python代码方面有一个盲点。

import multiprocessing
import time


def run1(name):
   print("Proccess", name, "has started")
   time.sleep(2)
   print("Proccess", name, "has finished")


def run2(name):
   print("Proccess", name, "has started")
   time.sleep(3)
   print("Proccess", name, "has finished")


start_time = time.time()
pr1 = multiprocessing.Process(target=run1('A'), )
pr1.start()
print('-')

pr2 = multiprocessing.Process(target=run1('B'))
pr2.start()
print('-')

pr3 = multiprocessing.Process(target=run2('C'))
pr3.start()
print('-')

end_time = time.time()
print(end_time - start_time)

1 个答案:

答案 0 :(得分:1)

因为不是传递目标函数 你叫... Target=func 不是target=func ()