Freigeben über


atomic_compare_exchange-Funktion

Vergleicht atomisch den Wert, der an einer Speicheradresse gespeichert wird, die im ersten Argument für Gleichheit mit dem Wert des zweiten angegebenen Arguments festgelegt ist. Wenn die Werte identisch sind, wird der Wert an der Speicheradresse in den Wert des dritten angegebenen Arguments geändert.

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);

Parameter

  • _Dest
    Der Speicherort, aus dem einer der zu vergleichenden Werte gelesen wird und an dem der neue Wert ggf. abgelegt werden soll.

  • _Expected_value
    Der Speicherort, aus dem der zweite zu vergleichende Wert gelesen wird.

  • _Value
    Der Wert, der an dem von _Dest angegebenen Speicherort abgelegt werden soll, wenn _Dest gleich _Expected_value ist.

Rückgabewert

true, wenn der Vorgang erfolgreich ist, andernfalls false.

Anforderungen

Header: amp.h

Namespace: Nebenläufigkeit

Siehe auch

Referenz

Concurrency-Namespace (C++ AMP)