スレッドの終了待ちについて


Rush  2013-03-09 14:58:34  No: 73638  IP: 192.*.*.*

Windows7、VC++2010を使用しています

ダイアログAからダイアログBを作成し、その中でスレッドを作成してループ処理を行っています。
ダイアログAの終了時(ボタン押下)にダイアログBを終了するようにしていますが(自動でDestroyWindowが呼ばれ終了?)、BのスレッドでAのデータを使用している為、Bスレッドが終了するまで待つようにしています(WaitForSingleObjectで)が、いつまで経ってもループが終了せずに固まってしまいます。
SetEventでスレッド終了を通知するようにしています。
メインスレッドからサブスレッドに終了の通知をする必要がある?

ループの終了はダイアログAの終了(ボタン押下時にループ抜けのフラグを立てる)が契機

WaitForSingleObject以外でも何かいい解決方法はないでしょうか。
GetExitCodeThreadも使ってはみましたが結果は一緒でした。

編集 削除
επιστημη  2013-03-10 10:45:56  No: 73639  IP: 192.*.*.*

> SetEventでスレッド終了を通知するようにしています。

- この通知がスレッドに届いているか、確認しましたか?
- この通知に反応して、確実にスレッドが停止するか、確認しましたか?

編集 削除
Ruhs  2013-03-10 19:57:09  No: 73640  IP: 192.*.*.*

>- この通知がスレッドに届いているか、確認しましたか?
>- この通知に反応して、確実にスレッドが停止するか、確認しましたか?
SetEventの通知前に固まっているみたいなので確認してみます。

編集 削除