当子进程结束时,Python的子进程会自动退出。如果你需要在子进程结束后执行其他代码,可以在主进程中使用
Process.join()
方法,该方法会阻塞主进程,直到子进程结束为止。
以下是一个简单的示例,演示了如何在主进程中等待子进程结束后执行其他代码:
import multiprocessing
import time
def worker():
print('子进程开始执行')
time.sleep(2)
print('子进程执行结束')
if __name__ == '__main__':
p = multiprocessing.Process(target=worker)
p.start()
p.join()
print('子进程已经结束,主进程继续执行')
在这个示例中,我们定义了一个worker()
函数,它会在子进程中执行。主进程中创建子进程后,调用Process.join()
方法等待子进程执行结束,然后才会继续执行主进程中的其他代码。
注意,如果在主进程中不调用Process.join()
方法,那么主进程会立即退出,不会等待子进程执行完毕。
希望这个例子对你有帮助,如果你还有其他问题,可以继续问我。