Функция atomic_compare_exchange
Атомарным образом сравнивает значение, хранящееся в области памяти, указанной в первом аргументе, на предмет равенства со значением второго заданного аргумента и, если значения совпадают, значение в области памяти меняется на значение третьего заданного аргумента.
inline bool atomic_compare_exchange(
_Inout_ int * _Dest,
_Inout_ int * _Expected_value,
int _Value
) restrict(amp);
inline bool atomic_compare_exchange(
_Inout_ unsigned int * _Dest,
_Inout_ unsigned int * _Expected_value,
unsigned int _Value
) restrict(amp);
Параметры
_Dest
Расположение, из которого считывается одно из сравниваемых значений, и куда, если имеется, нужно сохранить новое значение._Expected_value
Расположение, из которого считываются второе значение, с которым выполняется сравнение._Value
Значение, сохраняемых в указанную область памяти, указанному в _Dest, если _Dest равно _Expected_value.
Возвращаемое значение
true, если операция выполнена успешно, в противном случае — false.
Требования
Заголовок: amp.h
Пространство имен: Concurrency