スレッドを待つ
スレッドをスタートする関数が StartHogeProcess みたいな名前(にしたのは自分)で、プロセスだと思っていて、処理をスタートさせてからメイン側を終了させた。当然にプロセスが終わるので、そのなかのスレッドも終了する。このときの終了の仕方が、かなり唐突、いきなりブチッつう感じ。だけどエラーとかにはならない。ある意味正常。
Windowsでスレッドを待つ簡単な例 (http://kwmkt.web.fc2.com/contents/c0009.html )
// グローバル変数 CWinThread* g_Thread = NULL; // スレッドの開始 g_Thread = AfxBeginThread(thread, NULL); g_Thread->m_bAutoDelete = FALSE; // スレッド終了待ち if (g_Thread != NULL) { WaitForSingleObject(g_Thread->m_hThread, INFINITE); delete(g_Thread); g_Thread = NULL; }