掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PostThreadMessageとPeekMessageについて (ID:65462)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お返事遅くなりました。 (しかも一生懸命書いたのにESCキーでパーorz。) >で、GetQueueStatusの戻りは、メッセージの個数ではないですよ? すみません。完全に認識違いのようでしたね・・・。 Postした後でキューの中身を調べて個数を返してくれるものとばかり 思ってました。 >PeekをNOREMOVEかつメッセージ指定なしにしたらどうなりますか? >(必要ならGetMessageでRemoveする) やってみましたが変わりませんでした。 >ちなみに、スレッド側の回数はどうやって数えているので? >受信したところというのは、PeekMessageが0以外を返したところですか? 送信側は2通り試してみました。 1.GUI側で上のソースにある、PostThreadMessage()を100回For分で送信。 2.GUI上にボタンを1つ作成し、staticの値を持たせてボタンを連打した回数。 で、受信側が、書かれている通りで、PeekMessageが0以外の場合はTRACE()で 文字列を表示させています。 >何らかのSendがスレッドに対して行われたりしてるとそれをdispatchする必要があったりとか。 このあたりがさっぱりなのですが、私が作ったワーカースレッドに対して、 私以外の誰かがメッセージを送りつけて来てると言う可能性があると言う 事でしょうか? ちなみにもし誰かがSendでメッセージを送りつけてるとした場合でも、スレッド ではPeekMessage()で判定して該当のメッセージ以外は何も処理をしないで、 またPeekMessage()を呼ぶので、なんら問題はないような気がしますが・・・。 SendとPostされたものって扱いに差があるのですか? 送信側がブロックされるかされないかだけの違いだと思っているのですが。 動作から推測するとやはり間違いなく取りこぼしorマージ(?)されていると しか思えないのですが、マージなんてされた場合はシューティングゲームなんか で弾の描画をスレッドでやらせてた日には1発しか弾が出ないなんて事になり ますよね? こんな事で困っているのは私だけなのでしょうか? Banさん長々とお付き合いさせてしまって申し訳ありません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.