【Linux】C-C++ 一种简单易用的高效定时器实现.rar

时间:2023-01-24 19:34:35
【文件属性】:
文件名称:【Linux】C-C++ 一种简单易用的高效定时器实现.rar
文件大小:3KB
文件格式:RAR
更新时间:2023-01-24 19:34:35
C/C++定时器 一种基于条件变量的超时机制实现的较高精度又简单的定时器,经过实际测试验证可行。之所以利用条件变量的超时机制,是为了满足可以随时打断及时的需求,同时又不需要轮询的去查,在等待的过程中,线程处于阻塞休眠状态,所以也不消耗 CPU 资源。(信号量也可以)     该机制主要可以应用在一些要求可以随时取消和修改计时时间的场景,例如收到某条启动指令之后需要启动设备,当超过多长时间没有收到指令时就需要停止设备。优点吧,实现简单,精度较高,好用,不消耗 CPU 资源,支持单次和重复触发,并且各个定时器独立计时和执行,不影响其他定时器。缺点吧,就是有点耗内存了,启动 100 个定时器,就有 100 个线程(指的是100个定时器都没有超时)。     基本上可以满足大部分场景,如果比较庞大的系统需要上百个定时器计时,这种实现方式就不合适了,建议采用多级链表来实现,并且需要考虑定时器与定时器之间影响。
【文件预览】:
Timer.cpp
test_Timer.cpp
test_Timer.h
Timer.h

网友评论