C++ 定义qtimer全局还是本地?利弊如何?

C++ 定义qtimer全局还是本地?利弊如何?,c++,qt,qtimer,C++,Qt,Qtimer,当使用Qt定时器编程时,我们可以全局定义定时器,并让一个插槽执行所有其他与定时器相关的操作(如回调);我们还可以在本地为每个相关类定义计时器 那么,优点和缺点是什么呢?使用全局QTimer的优点是它将触发一行中所有连接的插槽。一段时间后,多个QTimer可能会停止同步,并且它们可能会异步超时,即使它们是以相同的时间间隔同步启动的。看 CPU负载还可能导致一个QTimer超时太晚,因此,如果有多个应该是同步的,那么如果加载系统,它们可能会异步超时,使用单个QTimer可以避免这一点(一旦超时,所有

当使用Qt定时器编程时,我们可以全局定义定时器,并让一个插槽执行所有其他与定时器相关的操作(如回调);我们还可以在本地为每个相关类定义计时器


那么,优点和缺点是什么呢?

使用全局
QTimer
的优点是它将触发一行中所有连接的插槽。一段时间后,多个QTimer可能会停止同步,并且它们可能会异步超时,即使它们是以相同的时间间隔同步启动的。看

CPU负载还可能导致一个
QTimer
超时太晚,因此,如果有多个应该是同步的,那么如果加载系统,它们可能会异步超时,使用单个
QTimer
可以避免这一点(一旦超时,所有连接的插槽都将连续触发,不会中断)


现在,拥有多个QTimer的明显优势在于,它们可以配置不同的超时间隔。它们也可以封装在可重用的独立模块或类中(如果它们没有自己的
QTimer
并要求开发人员声明和设置一个全局模块或类,那么在另一个项目中重用模块或类将更加困难,但是单例模式可以帮助实现这一点).

这更像是您的需求以及您希望如何设计它。你可以选择任何适合你当前需求的方法。当然可以,这就是为什么我想找出优点和缺点。比如效率或者其他什么。