System::Threading::Interlocked::CompareExchange метод

Interlocked::CompareExchange(int32_t&, int32_t, int32_t, bool&) method

Сравнивает и меняет значение переменной: проверяет, равно ли значение переменной определённому значению, и сохраняет новое значение только если сохранённое значение соответствует ожидаемому.

static int32_t System::Threading::Interlocked::CompareExchange(int32_t &location1, int32_t value, int32_t comparand, bool &succeeded)
ПараметрТипОписание
location1int32_t&Ссылка на переменную для изменения.
значениеint32_tЗначение для сохранения.
comparandint32_tЗначение, с которым сравнивается значение переменной перед обменом.
успешноbool&Ссылка на переменную, которая устанавливается в true, если обмен произошёл, и в false в противном случае.

ReturnValue

Значение переменной в начале операции независимо от того, было ли оно изменено.

См. также

Interlocked::CompareExchange(T&, T, T) method

Сравнивает и меняет значение переменной: проверяет, равно ли значение переменной определённому значению, и сохраняет новое значение только если сохранённое значение соответствует ожидаемому.

template<typename T> static std::enable_if<IsSupportedInt<T>, T>::type System::Threading::Interlocked::CompareExchange(T &location1, T value, T comparand)
ПараметрОписание
TТип переменной.
ПараметрТипОписание
location1T&Ссылка на переменную для изменения.
значениеTЗначение для сохранения.
comparandTЗначение, с которым сравнивается значение переменной перед обменом.

ReturnValue

Значение переменной в начале операции независимо от того, было ли оно изменено.

См. также

Interlocked::CompareExchange(T&, T, T) method

Сравнивает и меняет значение переменной: проверяет, равно ли значение переменной определённому значению, и сохраняет новое значение только если сохранённое значение соответствует ожидаемому. Не реализовано.

template<typename T> static std::enable_if<!IsSupportedInt<T>, T>::type System::Threading::Interlocked::CompareExchange(T &location1, T value, T comparand)
ПараметрОписание
TТип переменной.
ПараметрТипОписание
location1T&Ссылка на переменную для изменения.
значениеTЗначение для сохранения.
comparandTЗначение, с которым сравнивается значение переменной перед обменом.

ReturnValue

Значение переменной в начале операции независимо от того, было ли оно изменено.

См. также