Win32多執行緒之等待一個執行緒的結束(WaitForSingleObject)
阿新 • • 發佈:2019-01-27
由於執行緒停工是作業系統的責任,當然作業系統也有責任讓其他執行緒知道某個執行緒停工了。
Win32提供了一個名為WaitForSingleObject()的函式。他的第一個引數是個核心物件(如執行緒)的handle,為了方便討論,我把即將等待的執行緒稱為執行緒#1,把正在執行的執行緒稱為執行緒#2。剛剛說的“執行緒核心物件”指的是執行緒#2。
呼叫WaitForSingleObject()並放置一個“執行緒核心物件”作為引數,將使執行緒#1開始睡眠,直到執行緒#2結束為止。
就像Sleep()函式一樣,WaitForSingleObject()也有一個引數用來指定最長的等待時間。