2

UDPパケットを受信して​​処理するUDP「サーバー」があります。

私が今実装した方法では、パケットを受信するたびにイベントを発生させ、スレッドプール スレッドで各パケットを処理します。処理はかなり単純で、入ってくるパケットの速度よりもはるかに速いと思います.

現在、パケットのレートが高くなる可能性のある別のアプリケーションがあり、イベントを発生させるのではなく、パケットのキューを用意して、より大量の方法でパケットを処理する方が一般的に良いかどうか疑問に思っていました受信するたびに。

この件について何か考えはありますか?

4

1 に答える 1

1

多くのパケットが予想される場合、新しいスレッドで各パケットを処理するのはあまり良いオプションではないかもしれません。Producer/Consumer システムを作成できます。UDP パケット受信モジュールは、パケットを生成する (ある種のキューにプッシュする) プロデューサーになり、パケットを読み取って処理するコンシューマーを持つことができます。これはより高速でスケーラブルなオプションであり、パケットを処理するために複数のコンシューマ スレッドを実行できます。

可能であれば、パケットをまとめて処理することをお勧めします。

于 2012-05-29T18:30:55.933 に答える