次の方法で共有


atomic_compare_exchange 関数

1 番目の引数で指定されたメモリ位置に格納されている値を 2 番目に指定された引数の値と等しいかどうかアトミックに比較し、値が同じ場合、メモリ位置の値は 3 番目に指定された引数の値に変更されます。

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
    比較される値の 1 つが読み取られ、新しい値 (ある場合) が格納される位置。

  • _Expected_value
    比較される 2 番目の値が読み取られる位置。

  • _Value
    _Dest が _Expected_value と等しい場合、_Dest によって指定したメモリ位置に格納される値。

戻り値

操作が正常に終了した場合は true。それ以外の場合は false。

必要条件

ヘッダー: amp.h

名前空間: Concurrency

参照

関連項目

Concurrency 名前空間 (C++ AMP)