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

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第三方库


热门话题
调试Java toString()是否在toString中包含类名?   java多路复用程序   java Google map群集不适用于少量Cordinate   java如何在Android中设置和自定义不同的字体样式   Java版本比较   Spring引导升级后的java“未找到提供程序com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule”   java如何重新定位小程序查看器窗口?   java在适配器处于同一活动时在回收器视图中添加搜索视图   在Java中使用COM程序集   java在ListView中选择了什么操作?   java Hangman屏蔽字符串,取消隐藏字符   java为什么检查多个条件会返回不正确的结果   spring由:java引起。lang.ClassCastException:$ProxyX不能强制转换为my。包裹DefaultCustomerProviderImpl   java想要一些建议来清理一系列if语句   Java使用多个参数对对象进行排序