📅  最后修改于: 2023-12-03 15:33:47.943000             🧑  作者: Mango
在Python中,Process.join()
被用来等待进程结束,以便在主进程中执行。
Process.join([timeout])
timeout
(可选参数): 等待进程结束的时间。如果省略,则等待进程结束。该方法返回的内容为None。
import multiprocessing
import time
def func(num):
print(num)
time.sleep(1)
print('Done')
if __name__ == "__main__":
p1 = multiprocessing.Process(target=func, args=(1,))
p1.start()
p2 = multiprocessing.Process(target=func, args=(2,))
p2.start()
p1.join()
p2.join()
print('All processes are done!')
该代码将同时启动两个并行进程,执行相同的函数,等待进程结束后才会打印"All processes are done!"。
使用Process.join()
方法,程序会等待运行的进程完成,接着会执行主进程。如果不使用该方法,程序会在两个进程启动后立即运行主进程,这可能导致进程没有完成就结束程序。
总之,Process.join()
是Python中用来等待进程结束的重要方法。