WaitForMultipleObjects

WaitForMultipleObjectsは、複数のオブジェクトがシグナル状態になるまで待つWindowsAPI・・・。

https://msdn.microsoft.com/ja-jp/library/cc429423.aspx

第1引数にスレッドの数、第2引数にスレッドハンドル配列・・・。
すべてのスレッドがシグナル状態になった時に待ち状態を解除したい場合は、第3引数にTRUE・・・。
どれか1つでもシグナル状態になった時に待ち状態を解除したい場合は、第3引数にFALSE・・・。
第4引数に待つ時間をミリ秒単位で・・・。終わるまでの場合は、INFINITE・・・。

今回はスレッド5つ全てが終わるまで待つ・・・。

i = 1, m_iNo = 0, m_tszMessage = No.0
i = 1, m_iNo = 2, m_tszMessage = No.2
i = 1, m_iNo = 4, m_tszMessage = No.4
i = 1, m_iNo = 1, m_tszMessage = No.1
i = 1, m_iNo = 3, m_tszMessage = No.3
i = 2, m_iNo = 2, m_tszMessage = No.2
i = 2, m_iNo = 4, m_tszMessage = No.4
i = 2, m_iNo = 0, m_tszMessage = No.0
i = 2, m_iNo = 3, m_tszMessage = No.3
i = 2, m_iNo = 1, m_tszMessage = No.1
i = 3, m_iNo = 4, m_tszMessage = No.4
i = 3, m_iNo = 2, m_tszMessage = No.2
i = 3, m_iNo = 0, m_tszMessage = No.0
i = 3, m_iNo = 1, m_tszMessage = No.1
i = 3, m_iNo = 3, m_tszMessage = No.3
i = 4, m_iNo = 2, m_tszMessage = No.2
i = 4, m_iNo = 0, m_tszMessage = No.0
i = 4, m_iNo = 4, m_tszMessage = No.4
i = 4, m_iNo = 3, m_tszMessage = No.3
i = 4, m_iNo = 1, m_tszMessage = No.1
i = 5, m_iNo = 4, m_tszMessage = No.4
i = 5, m_iNo = 2, m_tszMessage = No.2
i = 5, m_iNo = 0, m_tszMessage = No.0
i = 5, m_iNo = 3, m_tszMessage = No.3
i = 5, m_iNo = 1, m_tszMessage = No.1
dwExitCode[0] = 0
dwExitCode[1] = 1
dwExitCode[2] = 2
dwExitCode[3] = 3
dwExitCode[4] = 4
続行するには何かキーを押してください . . .

すべてが終わってから、終了コードがすべて出力された・・・。

Sample/WaitForMultipleObjects.cpp at master · bg1bgst333/Sample · GitHub