у меня есть цикл while(m_threadActive){} который выполняется до тех пор пока эта переменная не будет равна false , во втором потоке когда выходит он этой переменной присваивает false. на дебаге работает и нормально проходит дальше а на релизе почему то цикл выполняется и не выходит. если я в данный цикл какое нибудь действие напишу что то типо std::cout то на релизе нормально работает, выходит из цикла когда завершается второй поток
короче вот http://en.cppreference.com/w/cpp/atomic/atomic_flag
Оптимизация. Надо переменную сделать volatile
Обсуждают сегодня