计时器池管理器, 将多个计时器挂在到计时器管理器中, 用一个线程来统一管理, 减少资源消耗

ztimer的Python项目详细描述



计时器池管理器
作用:
将多个计时器挂在到计时器管理器中, 用一个线程来统一管理, 减少资源消耗
别的多线程计时器在线程切换时会造成额外资源消耗
管理线程会根据在创建第一个计时器时自动启动, 关闭最后一个计时器后自动关闭
注意:
尽量不要调用Timer_Manager()中的close(), add_timer(), remove_timer()函数, 除非你真的完全了解这个模块
在计时器回调函数中调用close(), add_timer(), remove_timer()函数会造成死锁

测试代码:
if __name__ == '__main__':
def fun1(t: Timer):
print('回调', t.meta, t.callback_count, time.strftime(' %H:%M:%S', time.localtime()))


def fun_de(t: Timer):
print(t.meta, '关闭')


import time

t1 = Timer(fun1, 1, 5, close_callback=fun_de, meta='计时器1 ')
t1.start()

time.sleep(0.5)
t2 = Timer(fun1, 1, 2, meta=' 计时器2 ')
t2.start()

print('等待计时器1结束')
t1.join()
print('结束')


欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
junit cucumber为什么会找到“runTest.java”来运行测试?   在Eclipse中找不到java KeyPairGenerator   java NotSerializableException即使在实现Serializable之后   noclassdeffounderror(java字符串连接)为什么会出现这种异常?   java Guice:将接口绑定到由动态代理创建的实例   使用Spring数据neo4j创建空间索引时发生java错误   java对于需要在50多个excel文件上运行并且每个文件平均包含25k行的项目,最佳的方法是什么   javaNIO中的java缓冲区写入/发送消息问题   如何在Java/eclipse中添加不调用super()的警告   JavaSpring:mvcUrl映射错误的id   java应该在getInstance或构造函数中使用Init方法吗?   安卓中的java空指针异常错误   java Jsoup不能完全获取原始html代码