我想创建一个dict作为一个入口计时器。当进入计时器超时时,应调用一个函数对该条目进行一些处理。 e.g:
dict = [key, timer]
if timer == 0
f(key, timer)
有没有办法做到这一点 非常感谢你的帮助。 问候, 卡里姆
答案 0 :(得分:2)
您可以制作所有值timer objects,这些值会在给定的时间后触发。这将使您的程序依赖于线程模块。
或者,您可以使用单个“计时器线程”,偶尔遍历字典中的所有元素并减少计数。如果它发现元素已减少为零,则应调用回调。
如果您的词典依赖于“访问次数”而不是实际的时间,您应该考虑捕获访问调用并使用它们来增加和减少计数而不是使用线程(即通过重新加工或包裹__setitem__
和__getitem__
)。
答案 1 :(得分:1)