質問

Windows CEの下でスレッドがどのように使用されているのか、特にソケットのBeginReadのためにスレッドがどのように使用されるかに関する確認またはドキュメントを探しています。私はMSDNのドキュメンテーションを見ましたが、私はあいまいな参照を見つけることしかできません。ここで検索し、デスクトップスレッドモデルに回答が見つかりました。サイドノートとして、プログラムはコンパクトフレームワークで実装されています。

私の理解は次のとおりです。 DesktopではBeginxxxを呼び出すと、コールバックはSegnxxxを呼び出すスレッドとは異なるスレッドによって呼び出されない場合があります。(私が読んだことからスレッドプールから取られたもの)

Windows CEでは、Beginxxxを呼び出すと、コールバックはTebenxxxへの呼び出しを行ったスレッドによって処理されます。

これは正確ですか?もしそうなら、どこでドキュメントを見つけることができますか?STWは助けませんでした、そしてどちらもrtmもそうではありません。

役に立ちましたか?

解決

私は手動でスレッドをしなければなりませんでした。スレッドモデルは、デスクトッププラットフォーム上のWindows CE 6ではわずかに異なります。非同期コードは、デスクトップ上で開発したが、CE上では全く機能しない場合は機能しませんでした。私はソケットの上に座っているスレッドの送受信の中にシミングを終えました。私はまだ理由がわからないので、ハードウェアドライバのプラットフォームコードを書いたベンダーは、コンパクトなフレームワークが期待しているものとはまったく異なるいくつかの決定を下しました。とにかく、それは今動作し、ブロックされているスレッドは私のものであり、メインスレッドを止めることなくブロックすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top