私は、私の 1 つのコンポーネントから別のコンポーネントにデータを渡すために c# の並行キューを利用する私のプログラムを持っています。
コンポーネント 1: 複数のネットワーク接続がデータを受信し、それをこのキューに入れる
コンポーネント 2: このキューからデータを読み取り、処理します。
わかりました、すべてが理にかなっています(私は確かに願っています)。
今私が知りたいのは、2つのコンポーネント間でデータを渡すための最良/最も効率的な方法は何ですか?
オプション 1: コンポーネント 2 の新しいデータについてキューをポーリングしますか? ブロッキングコードが必要になるか、少なくともwhile(true)
オプション 2: これが可能かどうかはわかりませんが、それが私がここで質問している理由です。キューのデータ構造には、コンポーネント 2 をキューに登録して挿入/変更の通知を受けることができるという一種の機能がありませんか? このようにして、データが追加されるたびにフェッチすることができ、ブロック/ポーリングコードを回避できます。