QT 两个线程同步问题
WriteThread负责将QMap<QString, QString>中的内容写入"record.yzj"文件, ReadThread负责将"record.yzj"的内容显示在QTreeWidget上。WriteThread的run函数为:
forever{
sleep(2); // 每两秒写入一次
mutex.lock();
文件写入
mutex.unlock();
}
ReadThread的run函数为:
forever{
sleep(2);
mutex.lock();
if(文件不存在)
mutex.unlock();
else{
将内容显示在控件上
mutex.unlock();
}
但是程序执行时,可以观察到record.yzj中的内容有变化,但是窗体都没有出现。断点执行,原来程序压根就没有进入ReadThread线程。
请问如何解决该问题? --------------------编程问答-------------------- 没有进入ReadThread线程是啥意思啊?
还有,建议用QMutexLocker对QMutex进行加解锁操作以避免忘记解锁的问题 --------------------编程问答-------------------- 当在ReadThread线程的run函数上设定断点的时候,没有通常的那种让你按F10,F11调试的状态。
补充:移动开发 , Qt