它给我以下错误
File "parallel-1 (2).py, line 274
p1 = multiprocessing.Process(target=find_nearest, args=(array[idx],))
IndentationError: unexpected indent
#here the multiprocessing process starts
procs = []
p1 = multiprocessing.Process(target=find_nearest, args=(array[idx],))
procs.append(p1)
p2 = multiprocessing.Process(target=find_nearest, args=(array[idx],))
procs.append(p2)
p3 = multiprocessing.Process(target=find_nearest, args=(array[idx],))
procs.append(p3)
p1.start()
time.sleep(5)
p2.start()
time.sleep(5)
p3.start()
time.sleep(5)
p1.join()
p2.join()
p3.join()
print("Done!")
答案 0 :(得分:1)
这就是您应该这样做的方式。除非在循环或条件构造的情况下需要,否则避免在python中缩进。
#here the multiprocessing process starts
procs = []
p1 = multiprocessing.Process(target=find_nearest, args=(array[idx],)) #you had indentation here and all lines below till p3 join statement
procs.append(p1)
p2 = multiprocessing.Process(target=find_nearest, args=(array[idx],))
procs.append(p2)
p3 = multiprocessing.Process(target=find_nearest, args=(array[idx],))
procs.append(p3)
p1.start()
time.sleep(5)
p2.start()
time.sleep(5)
p3.start()
time.sleep(5)
p1.join()
p2.join()
p3.join()
print("Done!")