1

プログラムの主要コンポーネントの1つとして、基礎となるコレクションとしてConcurrentQueueを使用する無制限のブロッキングコレクションを使用しています。
ブロッキングコレクションの消費動作に関する統計を収集するための良い方法を探しています。たとえば、日中にキュー内にあったアイテムの最大数や、キューが構築されたときにブロッキングコレクション自体のサイズが変更されたときなどです。
何かを見逃したことがありますか、それともいくつかのメソッドをオーバーライドする継承されたクラスを作成して、使用統計を追加する必要がありますか?

4

1 に答える 1

2

あなたは何も見逃していません。これは自分で実装する必要があります。BlockingCollectionのメソッドはいずれも仮想ではないため、継承されたクラスはおそらく役に立ちません。

代わりに、ラッパーを作成し、常にそのラッパーを介してコレクションにアクセスする必要があります。または、コレクションを定期的にポーリングして現在の状態を報告する小さなスレッドを生成することもできます。

于 2013-02-12T13:36:02.990 に答える