前一阵子写了一个QT测试程序,其功能就是通过socket读取数据,分析处理后,在界面上显示处理结果。
在自己的机器运行一切正常,但是使用者告诉我,一般经过十几分钟就会死机。
查了很久,终于发现问题了:
使用socket读取数据,是专门一个线程,然后直接在这个线程里处理后,更新窗口显示的内容,与窗口主线程会产生冲突,导致莫名出错。
修改代码,数据处理后,将分析结果存储,然后发送一个信号。
在主窗口中,收到信号时,更新界面,问题解决。
前一阵子写了一个QT测试程序,其功能就是通过socket读取数据,分析处理后,在界面上显示处理结果。
在自己的机器运行一切正常,但是使用者告诉我,一般经过十几分钟就会死机。
查了很久,终于发现问题了:
使用socket读取数据,是专门一个线程,然后直接在这个线程里处理后,更新窗口显示的内容,与窗口主线程会产生冲突,导致莫名出错。
修改代码,数据处理后,将分析结果存储,然后发送一个信号。
在主窗口中,收到信号时,更新界面,问题解决。