带计时器条目的Python字典
我想创建一个字典,其中有一个条目是一个计时器。当这个计时器到时间了,就应该调用一个函数来处理这个条目。比如:
dict = [key, timer]
if timer == 0
f(key, timer)
有没有什么方法可以做到这一点呢?
非常感谢你的帮助。
祝好,
Karim
2 个回答
2
你可以把所有的值都变成定时器对象,这样它们会在设定的时间后触发。不过,这样的话,你的程序就得依赖于线程模块了。
另外,你也可以创建一个“定时线程”,这个线程会不时地检查字典里的所有元素,并减少它们的计数。如果发现某个元素的计数降到零,就可以调用一个回调函数。
如果你的字典是根据“访问次数”来决定的,而不是实际的时间,那么你可以考虑记录访问的调用,并用这些来增加或减少计数,而不是使用线程(也就是说,可以重新定义或包装一下__setitem__
和__getitem__
)。