VarHandle.CompareAndExchangeRelease(Object[]) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Atomically sets the value of a variable to the newValue with the memory semantics of setRelease(java.lang.Object...) if the variable's current value, referred to as the witness value, == the expectedValue, as accessed with the memory semantics of get(java.lang.Object...).
[Android.Runtime.Register("compareAndExchangeRelease", "([Ljava/lang/Object;)Ljava/lang/Object;", "", ApiSince=33)]
public Java.Lang.Object? CompareAndExchangeRelease(params Java.Lang.Object[]? args);
[<Android.Runtime.Register("compareAndExchangeRelease", "([Ljava/lang/Object;)Ljava/lang/Object;", "", ApiSince=33)>]
member this.CompareAndExchangeRelease : Java.Lang.Object[] -> Java.Lang.Object
Parameters
- args
- Object[]
the signature-polymorphic parameter list of the form (CT1 ct1,..., CTn ctn, T expectedValue, T newValue), statically represented using varargs.
Returns
the signature-polymorphic result that is the witness value, which will be the same as the expectedValue if successful, statically represented using Object.
- Attributes
Remarks
Atomically sets the value of a variable to the newValue with the memory semantics of setRelease(java.lang.Object...) if the variable's current value, referred to as the witness value, == the expectedValue, as accessed with the memory semantics of get(java.lang.Object...). The method signature is of the form (CT1 ct1,..., CTn ctn, T expectedValue, T newValue)T. The symbolic type descriptor at the call site of compareAndExchangeRelease must match the access mode type that is the result of calling accessModeType(VarHandle.AccessMode.COMPARE_AND_EXCHANGE_RELEASE) on this VarHandle.
Java reference for java.lang.invoke.VarHandle.compareAndExchangeRelease.