首页 文章

如何在C(Windows)中同步两个进程?

提问于
浏览
1

父进程通过调用CreateProcess()方法启动子进程,该方法甚至在初始化子进程之前立即返回 . 如何让父进程等待Child进程初始化并开始执行? WaitForSingleObject()调用使父进程等待,直到子线程终止或超时 .

是否有任何类似的方法使父进程等待子进程初始化?

2 回答

  • 4

    您可以在父进程中的WinAPI中create a named event并将其设置为unsignalled状态 . 在事件句柄上调用WaitForSingleObject . 然后在子进程中,您可以按名称打开事件并在初始化子进程后发出信号(调用SetEvent()) .

  • -2

    如果您正在使用线程,那么让父线程等到子项完成的最简单方法之一就是使用.join()函数 . 在父进程的最终用途中

    child.join();
    

相关问题