为什么下面的代码进程不能并行工作?
当我运行代码时,我正在等待它将并行运行,但是它首先等待第一个进程完成时,然后等待第二个进程,依此类推。没有并行运行。可能我在并行执行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)
答案 0 :(得分:1)
因为不是传递目标函数
你叫...
Target=func
不是target=func ()