2013-02-12 93 views
1

我正在使用ConcurrentQueue作为底层集合作为我的程序的主要组件之一的无限制阻塞集合。
我正在寻找一种很好的方法来收集关于阻塞收集的消耗行为的统计信息,例如在一天中队列中的最大数量或阻塞集合在队列建立时调整大小的最大数量。
我错过了什么,或者我需要编写一个覆盖某些方法的继承类,以便我可以添加更多的使用情况统计信息?C#BlockingCollection <T>类统计

回答

2

你没有遗漏任何东西。你必须自己实现这个。继承类可能不会有帮助,因为BlockingCollection的方法都不是虚拟的。

相反,您将不得不编写一个包装器并始终通过该包装器访问该集合。或者,您可以产生一个定期轮询收集并报告其当前状态的小线程。

+0

感谢您的答案 - 在我目前的设置中,如果我将统计信息添加到用于排队的传输对象中,则更容易。无论如何,我会首选一种通用解决方案。 – weismat 2013-02-13 07:36:54