大家好,我写了一个QT程序,程序有一个很奇怪的BUG,我的程序中有一个
主线程(UI线程)和一个
写文件线程(QThread)和一个中断(SIGIO信号),程序实现的功能是在
界面上点开始
按钮后,如果接收到一个中断,就把
数据加入队列,写文件线程读取队列后把数据写到硬盘中,写文件的数据较多,CPU一直30%左右,内存占用
没有在增加,程序现在有一个BUG,就是写一段时间后(可能几分钟,可能几小时),界面就卡住了(不会恢复),什么反应都没有,程序中的
QTimer中的打印也不运行了,但程序还在继续接收中断,写文件线程还在继续写文件,唯一的异常就是与界面有关的都卡住了,PS查看程序状态是S,终端也没有打印出任何异常信息,网上也没有找到类似的
问题,求大神们帮帮忙
这是TOP的信息
这个界面卡住时的打印,红框中的那句是主线程的QTimer打印出来的,
其他是写文件线程和中断函数中的打印,可以看出QTimer中的打印突然没有了