当前位置: 代码迷 >> QT开发 >> 重复设置QTimer时间的有关问题
  详细解决方案

重复设置QTimer时间的有关问题

热度:494   发布时间:2016-04-25 02:52:54.0
重复设置QTimer时间的问题
我的系统比较老,用的是Qt2.x。最近遇到这样一个问题:
在某个类中:
QTimer *myTimer = new QTimer(this);
connect(myTimer, SIGNAL(timeout()), this, SLOT(slt_doSomething()));
myTimer->start(80000);
.
.
.
void RestartmyTimer()
{
    myTimer->changeInterval(80000);
}

然后我在主线程中, 重复调用RestartmyTimer(), 假设一秒调用80次,OK!这样能正常运行。
但是我在另一个线程中,假设是读取串口的线程,重复调用RestartmyTimer()一秒钟掉用个30次程序跑一会就死了,调试程序发现,QTimer的id在重复调用RestartmyTimer()的过程中会改变,改变后没多久程序就死了。
请问下各位为什么会出现这样情况啊。。。
------解决思路----------------------
楼主的目的是要做什么  我觉得你的设计有问题
------解决思路----------------------
2.x的qt是够老的
目前貌似QTimer的借口变化很大啊

程序死了是内存爆了 还是死锁?
调试看下啊
------解决思路----------------------
你是多个线程,用Mutex了么?
------解决思路----------------------
读取串口都用事件了