C++ (Qt)if (writeFlag) { DoSomethng(..);}
C++ (Qt)if (m_writeFlag) return;
C++ (Qt)// Нитка делает опрос, сохраняет рез-т в мапе (m_data) // и посылает сигнал в главную ниткуvoid Checker::timerEvent( QTimerEvent * ){ if (!m_writeFlag) { m_writeFlag = true; BuildMap(m_data); emit newData(this); }}
C++ (Qt)// Главная Нитка использует мапу и после этого сбрасывает флажокvoid SomeWindow::SlotNewData( Checker * checker ){// обновляем UI используя checker->m_data// ... checker->m_writeFlag = false;}
C++ (Qt)// Главная Нитка использует мапу и после этого сбрасывает флажокvoid SomeWindow::SlotNewData( Checker * checker ){// обновляем UI используя checker->m_data// ... checker->m_writeFlag = false;// ..// здесь чем-то увлекся, забыл и сбросил флажок еще раз// .. checker->m_writeFlag = false;}