0

申し訳ありませんが、私はこのマルチスレッドのすべてに非常に慣れていません...

私はクライアント/サーバー アプリに取り組んでおり、System.Net.Sockets.NetworkStreamの Async IO メソッドを使用します。

BeginReadを呼び出した後、システムがデータを受信するたびにコールバックの呼び出しを開始することを認識しています。コールバックが完了するまでにかなりの時間がかかる可能性がありますが、他のスレッドがこの同じコールバックを実行する前に完了する必要があります。

コールバック メソッドを同期済みとしてマークするだけで、システムがデータを受信した順序で各コールバック スレッドが完了するまで実行するのに十分でしょうか?

そうでない場合、どの同期ツールが最適でしょうか? (例: Monitors、WaitHandles、Semaphores? など...)

編集:これはWin Server 2008上のVB 2008にあります

4

1 に答える 1

1

各 BeginRead は、単一の EndRead と一致しました。さらに読みたい場合は、コールバックでもう一度 BeginRead を呼び出す必要があります。


ところで、ソケットはかなり低レベルです。これにWCFを使用できないと確信していますか?

于 2009-07-16T22:17:47.480 に答える