掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッド処理の中断について (ID:58679)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
基本的にスレッドは自滅しないといけないと言うのは、 早い話が外部から安全に強制終了させる方法が存在しないからです。 スレッド内の後始末はスレッド内でしか出来ませんが、 TerminateThreadは、スレッド内の後処理を実行することなく、 単にスレッドを終わらせてしまいます。 後処理にあたる部分が実行されなければ、そこで開放するはずのリソースが リークするのは自明の理でしょう。 既に書かれているようにCWinThreadはあくまでもスレッドの管理をやりやすく する為の物であり、スレッドそのものではありません。 スレッド内で確保されたリソースはスレッドの処理で責任を持って開放しなくてはだめなのです。 >スレッド処理内に多くのエラー時のメッセージ表示処理があり、 >中止ボタンを押した後に、メッセージが表示されてしまう >恐れがある(実際は表示されず処理が固まってしまう) >ので、対応が困難となっています。 きちんと外部から終了させられていると言う事をスレッドに認識させて 終了中のエラーメッセージの出力を抑止するとか、ログに吐き出すように 切り替えるとかするべきですね。 スレッドを安全に終わらせる為の代替手段は他にはありません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.