2013-02-12 90 views
1

我正在使用ConcurrentQueue作爲底層集合作爲我的程序的主要組件之一的無限制阻塞集合。
我正在尋找一種很好的方法來收集關於阻塞收集的消耗行爲的統計信息,例如在一天中隊列中的最大數量或阻塞集合在隊列建立時調整大小的最大數量。
我錯過了什麼,或者我需要編寫一個覆蓋某些方法的繼承類,以便我可以添加更多的使用情況統計信息?C#BlockingCollection <T>類統計

回答

2

你沒有遺漏任何東西。你必須自己實現這個。繼承類可能不會有幫助,因爲BlockingCollection的方法都不是虛擬的。

相反,您將不得不編寫一個包裝器並始終通過該包裝器訪問該集合。或者,您可以產生一個定期輪詢收集並報告其當前狀態的小線程。

+0

感謝您的答案 - 在我目前的設置中,如果我將統計信息添加到用於排隊的傳輸對象中,則更容易。無論如何,我會首選一種通用解決方案。 – weismat 2013-02-13 07:36:54