Share via


AtomicReference.CompareAndExchange(Object, Object) Method

Definition

Atomically sets the value to newValue if the current value, referred to as the <em>witness value</em>, == expectedValue, with memory effects as specified by VarHandle#compareAndExchange.

[Android.Runtime.Register("compareAndExchange", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", "", ApiSince=33)]
public Java.Lang.Object? CompareAndExchange (Java.Lang.Object? expectedValue, Java.Lang.Object? newValue);
[<Android.Runtime.Register("compareAndExchange", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", "", ApiSince=33)>]
member this.CompareAndExchange : Java.Lang.Object * Java.Lang.Object -> Java.Lang.Object

Parameters

expectedValue
Object

the expected value

newValue
Object

the new value

Returns

the witness value, which will be the same as the expected value if successful

Attributes

Remarks

Atomically sets the value to newValue if the current value, referred to as the <em>witness value</em>, == expectedValue, with memory effects as specified by VarHandle#compareAndExchange.

Added in 9.

Java documentation for java.util.concurrent.atomic.AtomicReference.compareAndExchange(V, V).

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Applies to