QT线程同步
问题:在分线程中发出的数出现重复现象,每个数被发送了两次。
用QReadWriteLock 和QMutex 问题同样。
全局变量:QList <QString> m_zfList;//数据缓冲列表bool flag_start;//开始转发标志QReadWriteLock lock;QMutex mutex;主线程接收:if(flag_start) { mutex.lock(); m_zfList.push_back(m_dataNew.T); mutex.unlock() };分线程转发:while(flag_start) { char buf[25]; int b = 10; mutex.lock(); if(!m_zfList.isEmpty()) { float temp = m_zfList.takeLast(); gcvt(temp,b,buf); myCom_288->write(buf); } mutex.unlock(); }