C++ (Qt)double value = CalculateSomething(..); QMutexLocker lock(&mutex); // защищаем установку глобальной переменной theMax if (value > theMax) // устанавливаем theMax theMax = value;
double value = CalculateSomething(..); theMax = qMax(value, theMax);
C++ (Qt)template <typename T>inline const T &qMax(const T &a, const T &b) { if (a < b) return b; return a; }
if (value > theMax ) // не делаем лок, когда это точно не нужно{ QMutexLocker lock(&mutex); // защищаем установку глобальной переменной theMax if (value > theMax) // устанавливаем theMax { theMax = value; }}
C++ (Qt)if (value < theMax)