スレッドの停止について質問です
OnDestroy()にてスレッドと、その内部で使っているオブジェクト(m_obj)を破棄します。
現在は以下のようにsleepで無理矢理同期させていますが、
正しくはスレッドが完全に停止し破棄された時のイベントか何かを待つのだと思います。
WaitForSingleObjectを入れていますが全く効いてません。
現在は停止イベント後もm_objのメソッドをスレッドが呼び出してしまいアクセスバイオレーションになります。
どうしたらいいですか?
XXX::OnDestroy()
{
 〜途中略〜
  if(m_EventThreadStop)
  {
    SetEvent(m_EventThreadStop);
    m_EventThreadStop = NULL;
  }
  if(m_pThread)
  {
    WaitForSingleObject(m_pThread, INFINITE);
    m_pThread = NULL;
  }
  ::Sleep(500);
  if(m_obj != NULL)
  {
    delete m_obj;
    m_obj = NULL;
  }
}