我的系统比较老,用的是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了么?
------解决思路----------------------
读取串口都用事件了