Windows7、VC++2010を使用しています
ダイアログAからダイアログBを作成し、その中でスレッドを作成してループ処理を行っています。
ダイアログAの終了時(ボタン押下)にダイアログBを終了するようにしていますが(自動でDestroyWindowが呼ばれ終了?)、BのスレッドでAのデータを使用している為、Bスレッドが終了するまで待つようにしています(WaitForSingleObjectで)が、いつまで経ってもループが終了せずに固まってしまいます。
SetEventでスレッド終了を通知するようにしています。
メインスレッドからサブスレッドに終了の通知をする必要がある?
ループの終了はダイアログAの終了(ボタン押下時にループ抜けのフラグを立てる)が契機
WaitForSingleObject以外でも何かいい解決方法はないでしょうか。
GetExitCodeThreadも使ってはみましたが結果は一緒でした。
> SetEventでスレッド終了を通知するようにしています。
- この通知がスレッドに届いているか、確認しましたか?
- この通知に反応して、確実にスレッドが停止するか、確認しましたか?
>- この通知がスレッドに届いているか、確認しましたか?
>- この通知に反応して、確実にスレッドが停止するか、確認しましたか?
SetEventの通知前に固まっているみたいなので確認してみます。