我正在构建一个应用程序,可以侦听Wamp协议消息并将其存储在List<MySpecialClass>
中。坦率地说,由于流量很狂野(一两分钟内大约有 1-1.5 千条消息(,我想实现某种方法来自动清除此列表的终止条目。
我的想法是为MySpecialClass
提供一个System.Diagnostics.Stopwatch isTerminated
领域。收到某个条目已终止的 Wamp 消息将运行isTerminated.StartNew()
。定期(但频率远低于 60 秒(循环通过List<MySpecialClass>
将确保List.Remove()
任何isTerminated.ElapsedMilliseconds>60000
MySpecialClass
。
我应该注意,由于一些复杂的东西,终止的条目可以使用另一个 Wamp 消息再次恢复,根据我的想法,该消息将称为isTerminated.Reset()
。
我会继续这样做,但我是新手,我不确定我在系统.诊断.秒表上遇到了什么样的麻烦。它会减少我的内存使用量还是增加内存使用量?
我很想听到关于我正在考虑的这种方法的反馈,以及关于如何清理他们的列表的一些建议。干杯!
编辑
我想我容易想太多问题,对不起你的麻烦。评论中 Pikah 的想法是我需要的。
事实证明,我可以在我的类中添加一个时间戳字段,该字段将显示消息何时终止并检查,这比我的想法略好。谢谢皮科。