我需要制作一个不会无限增长的基于时间的字典哈希表。
“基于时间”的意思是,如果我要在 X 时间添加一个字典,我希望该项目在 X+Y 时间不存在。Y 为超时时间。
我愿意将时间存储在字典中或作为键或值中的结构。
语境:
我得到了我们正在使用的库调用的“回调”,它为我提供了 4 条信息(时间、键、值、操作类型)。
operationType 可以是 start 或 end (还有其他的,但没关系)。
因此,如果我在 X 之后的 Y 时间段内结束,我很乐意使用这些有用的信息。否则我可以丢弃它。
问题:
这基本上是一个定时器线程,它每隔 Y 间隔清理一次字典,并且主线程不断从回调中将内容添加到这个字典中吗?
我使用 Dictionary 来做到这一点,没有计时器,即使我删除了我能够“加入”的元素,它似乎也在无限增长。
另外,是否有某种 .NET 库可以做这样的事情?