• 9578阅读
  • 10回复

[讨论]Qtimer的一些疑问。 [复制链接]

上一主题 下一主题
离线日月刀客
 
只看楼主 倒序阅读 楼主  发表于: 2011-02-28
对于一个qtimer事件,如果我给的触发时间间隔比较短,在下一次触发开始时,上一次事件还没有处理结束,会怎么样?会发生这种情况吗?
表示对qtimer的运行机制不是特别了解。。。
大家谁知道哈~~
比如:
startTimer(40);
void timerEvent(QTimerEvent*)
{
      while(1);
}
离线chuliqiang
只看该作者 1楼 发表于: 2011-02-28
我记得好像是不关联的吧。好像重新开一个线程。
离线日月刀客
只看该作者 2楼 发表于: 2011-03-01
回 1楼(chuliqiang) 的帖子
这样啊……那线程岂不是要越开越多了啊……
离线dbzhang800

只看该作者 3楼 发表于: 2011-03-01
Re:回 1楼(chuliqiang) 的帖子
引用第2楼日月刀客于2011-03-01 14:51发表的 回 1楼(chuliqiang) 的帖子 :
这样啊……那线程岂不是要越开越多了啊……

和线程没关系,就是个简单的事件循环的问题。只要你这个事件处理没弄完,其他事件是不会被处理的。如果真的很耗时,你应该考虑的是多线程。

况且你这儿wihle(1) 都想到了,自己去试试不就行了。(^.^)
[ 此帖被dbzhang800在2011-03-01 14:58重新编辑 ]
离线日月刀客
只看该作者 4楼 发表于: 2011-03-01
回 3楼(dbzhang800) 的帖子
呵呵 ,刚试过了,如你所说,当前事件没有处理完,其他事件是不会去处理的,在多线程下面试了试,这个时间触发机制和主线程中的循环是以一个及其不确定的顺序交替运行的。。。。。
不过没关系,呵呵,能循环工作就好了。。。
离线mylearnhappy
只看该作者 5楼 发表于: 2011-03-04
这个东西我以后也试验下咋用,不过我可以给你上传点学习资料,由于上传限制,只把对你的问题有帮助的给你,在QT creater系列教程里面有定时器的实例请仔细看下,这些都是我们老师给我们找的一些教程,由于不知道对你是否有 [upload=1] 用,如果有用加我好友一起学习吧
离线mylearnhappy
只看该作者 6楼 发表于: 2011-03-04
呀,怎么没有上传上去,晕
离线mylearnhappy
只看该作者 7楼 发表于: 2011-03-04
这个到底怎么上传资料的
离线mylearnhappy
只看该作者 8楼 发表于: 2011-03-04
QT creater的使用教程带附件
离线青春岁月

只看该作者 9楼 发表于: 2011-03-08
你的QQ?
go!   go!  go!  go!
离线zooood
只看该作者 10楼 发表于: 2011-03-09
据我了解,QTimer的事件通常是在主线程的事件循环中被处理的

我猜想这个和QTimer实例化的参数设置有关,最常碰到的实例化方法是new QTimer(this),通过this指定了父对象,父对象在哪个线程中运行,QTimer的事件也就在那个线程的事件循环中被处理。

都是自己的猜想,没有验证过,仅供参考
快速回复
限100 字节
 
上一个 下一个