计时元素在列表中存在的时间

本文关键字:存在 时间 列表 元素 | 更新日期: 2023-09-27 18:10:22

跟踪元素在列表中存在了多长时间的最简单方法是什么?例如,我想从列表中弹出一个元素后,它已经添加了2分钟。

我是否需要创建两个列表,一个保存实际元素,另一个保存该元素添加到列表的时间?然后检查"时间"表,以便知道什么时候到了两分钟?

我有一种感觉,有一种更简单、更有效的方法来做到这一点,但我现在想不起来…

计时元素在列表中存在的时间

如果您想要编写最少的代码,您可以查看MemoryCache类,它实现了过期策略。

使用CacheItemPolicy,你甚至可以有一个回调方法执行当项目过期后被删除。

不直接将元素存储在列表中,您可以使用包含元素及其存储时间的包装器类,然后存储包装器类的实例。

你可能想使用队列而不是列表;您将从前面删除很多项,这在队列中要比在列表中高效得多。

检查队列的频率是你需要决定的。您可以使用一个单独的线程来经常检查,在这种情况下,您可能希望使用ConcurrentQueue<T>