次のように動作するアプリケーションがあります。
- トランスポート プロバイダーとの接続を開きます。
- できるだけ早く大量のメッセージを送信します。
- トランスポート プロバイダーとの接続を閉じます。
私が見つけたのは、トランスポート スレッドに対してアプリケーションの動作が速すぎるということです。トランスポート スレッドが前のメッセージで終了する前に次のメッセージに移動するため、メッセージが失われてしまいます。この問題を (一時的に) 解決するために、1 つのメッセージの開始と次のメッセージの作成の間に 2 秒間の一時停止を入れることにしました。しかし、これは受け入れられません!私が必要としているのは、トランスポート スレッドがメッセージの処理を完了したとき (つまり、同期操作が必要なとき) を判断するために待機できる、ある種のセマフォです。
誰かそのようなことを知っていますか?