实现值随时间衰减的计数器
deca的Python项目详细描述
实现一个计数器,该计数器的值随时间衰减
decadycounter()对象存储一个浮点值,该浮点值随时间以给定的衰减率衰减。
衰减率表示为半衰期,即在半衰期秒后,该值减半。
在get()操作中自动计算衰减,不使用后台线程或其他带外时间保持。
请注意,虽然提供了set()操作,但在读-修改-写模式中使用它是不安全的,
因为您将丢失在读和写之间应该发生的衰减。
您应该使用modify()来执行此类操作,它接受一个应执行操作
并返回结果的可调用函数。
如果您想强制使用wall clock time.time(),即使在单调可用时,
也可以使用单调=false。注意,这可能是一个坏主意
(例如,如果系统时间向后更改,您的值将急剧上升)。
decadycounter()对象存储一个浮点值,该浮点值随时间以给定的衰减率衰减。
衰减率表示为半衰期,即在半衰期秒后,该值减半。
在get()操作中自动计算衰减,不使用后台线程或其他带外时间保持。
请注意,虽然提供了set()操作,但在读-修改-写模式中使用它是不安全的,
因为您将丢失在读和写之间应该发生的衰减。
您应该使用modify()来执行此类操作,它接受一个应执行操作
并返回结果的可调用函数。
如果您想强制使用wall clock time.time(),即使在单调可用时,
也可以使用单调=false。注意,这可能是一个坏主意
(例如,如果系统时间向后更改,您的值将急剧上升)。