父进程通过调用CreateProcess()方法启动子进程,该方法甚至在初始化子进程之前立即返回。如何让父进程等待Child进程初始化并开始执行? WaitForSingleObject()调用使父进程等待,直到子线程终止或超时。
有没有类似的方法让父进程等到子进程被初始化?
答案 0 :(得分:4)
您可以在父进程中的WinAPI中create a named event并将其设置为无信号状态。在事件句柄上调用WaitForSingleObject。然后在子进程中,您可以按名称打开事件,并在子进程初始化后发出信号(调用SetEvent())。
答案 1 :(得分:-2)
如果您正在使用线程,那么让父线程等到子项完成的最简单方法之一就是使用.join()函数。在父进程的最终用途
child.join();