【问题标题】:join equivalent in Windows在 Windows 中加入等价物
【发布时间】:2012-07-31 13:04:38
【问题描述】:

如何在 Windows 中等待线程终止?这就是我希望我的代码看起来的样子:

main thread:

creating thread: thread1
waiting for thread1 to die
//rest of the code

我正在使用 Win32 API。

【问题讨论】:

  • 这就是你想要的,你真正想要的吗? 尽量不要这样做。使用循环且永不终止的线程池或应用程序生命周期线程。等待线程终止应该是最后的手段,只有在没有其他设计方法可行时才使用。

标签: c++ windows multithreading winapi join


【解决方案1】:

很简单:WaitForSingleObject 可以在给定其他线程句柄的情况下阻塞当前线程。

void Thread1Proc()
{
   HANDLE hThread2 = CreateThread(...);
   WaitForSingleObject(hThread2, INFINITE);

   // by now thread #2 is over

}

【讨论】:

    猜你喜欢
    • 2014-01-03
    • 2014-08-24
    • 1970-01-01
    • 2010-09-24
    • 2021-06-22
    • 2023-03-11
    • 1970-01-01
    • 2013-08-09
    相关资源
    最近更新 更多