父進程等待子進程結束
阿新 • • 發佈:2018-11-07
設置 們的 pan 負責 ESS rom 通知操作 process bsp
from multiprocessing import Process import time # def task(name): # print("%s start" % name) # time.sleep(3) # # print("%s stop" % name) # # if __name__ == ‘__main__‘: # p = Process(target=task,args=("jerry",)) # p.start() # p.join(3) #父進程必須等到子進程完成後才能繼續執行 可設置等待超時時間 # print("我是主進程!!!")#——————————————————————————————————————- def task(i): print("%s start" % i) # time.sleep(2) # print("%s stop" % i) if __name__ == ‘__main__‘: for i in range(1,11): #開啟多個子進程 p = Process(target=task,args=(i,)) p.start() print("主進程!!!!") # for i in range(1,11): 等同於下面:# p1=Process(target=task,args=(1,)) # p2=Process(target=task,args=(2,)) # p3=Process(target=task,args=(3,)) # p1.start() # p2.start() # p3.start() #——————————————————————————————————————— # 我們的代碼只負責 通知操作系統創建進程 創建完就繼續其他代碼 # 但是操作系統什麽時候創建完成 什麽時候執行我們無法預知無法控制 # def task(i): #print("%s start" % i) # time.sleep(2) # print("%s stop" % i) # # if __name__ == ‘__main__‘: # start_time = time.time() # ps = [] # for i in range(1,3): # p = Process(target=task,args=(i,)) # p.start() # ps.append(p) # # 主進程等子進程結束 # for p in ps: # p.join() # # print("主進程!!!!",time.time()-start_time)
重點: join()讓父進程在原地等待。
父進程等待子進程結束