QTimer的机制

wat*_*erd 0 c++ qt qt-signals qtimer qtcore

假设这timer是一个对象QTimer,定时器的间隔是iInterval和定时器的超时信号连接到一个插槽sltTimeout().

我只是在想如果iInterval小于sltTimeout()运行时间会发生什么.结果会运行多个线程sltTimeout()吗?如果是这样,似乎可能导致对对象的非同步访问出现问题.

任何人都可以澄清一下吗?

Gre*_*ill 6

A QTimer在启动它的线程上运行.由于它只在一个线程上运行,因此timeout()在前一个槽函数返回之前,它不可能多次发出它的信号.

QTimer文档:

Qt使用计时器的线程亲和性来确定哪个线程将发出timeout()信号.