掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッド処理について (ID:58622)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
エートリーぶさんへのつっこみです。 >対策1 >てつやさんの方法も一案と思います。 >ダイアログ消去までの時間がかせげるので。 勘違いをしていませんか? これはWindowの生成/破棄を同じスレッドで正しく行うための処置です。 時間稼ぎといったタイミングを変えるための処置ではありません。 そもそも、CWnd*は違うスレッドにそのまま渡して良いものではなく(HWNDはOK) その点に関してのプログラミング規則に違反している点を対策するものです。 >#私もワーカスレッドから、GUIのコントロール等は操作します。 上記で書いたように、CWnd*はそのまま渡してはいけないはずです。 それこそ、そのバージョンのWindows上で"たまたま"動いているに過ぎず(=必ず大丈夫だと 保証されていない)、違うバージョンでも動く保証は全くありません。 MSDN上にも明記されていたはずですが見つからないので、とりあえずご参考。 http://forums.belution.com/ja/vc/000/104/41s.shtml http://homepage2.nifty.com/DSS/VCPP/MFC/Thread/ThreadMFC.htm そもそもHT固有の問題と判明したわけでもないのに、そこにフォーカスして 解説するのはおかしいと思います。(もちろんその可能性もあるが) 仮に、スレッド間の実行順序や実行タイミングに依存するバグが存在し、 これまでの通常の実行で問題が出ていないだけであれば、別にHTに限らず 普通のマルチプロセッサ環境でも問題が発現するかもしれません。 シングルプロセッサ、not HT環境でも、あるスレッドの実行が大きく沈み 込んでしまったような場合は、やはり発現する可能性があります。 単純に、スレッドの実行順序やタイミングに依存しているようなプログラム は根本的にバグ持ちであり、環境によらず対策が必要です。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.