【发布时间】:2009-11-24 15:31:10
【问题描述】:
我们在代码中使用CCR timers 确定了一个热点。看来,如果我们将数千个计时器排入队列,代码就会出现终端速度下降。
解决方法是选择最快的计划项目并将此事件的计时器排入队列。当它触发时,我们重复。通过这种方式,我们一次只能将一个计时器间隔排入队列。
我们现在发现的是,我们用来管理计划项目的 SortedList 实例正在随着列表中删除的重量而燃烧。
是否所有的 .net 计时器都会遇到 CPU 使用率随着排队的项目数量增加而增加的问题,或者是否有一个更智能的编写方式。
或者,是否有更合适的数据结构来保持我们的计划项目有序,支持从列表前面快速插入和快速删除?
【问题讨论】:
标签: c# .net scheduling timer