2012-08-02 20 views
6

如何等待線程在Windows中死亡?這是我想讓我的代碼看起來像:在Windows中加入等效物

main thread: 

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

我正在使用Win32 API。

+0

這就是你想要的,你真正想要的是什麼?儘量不要這樣做。使用循環且永不終止的線程池或應用程序生存期線程。等待線程終止應該是最後的手段,只有在沒有其他設計方法可行的情況下才能使用。 – 2012-08-02 15:11:09

回答

20

很簡單:WaitForSingleObject可以阻止給定另一個線程的句柄的當前線程。

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

    // by now thread #2 is over 

}