Språk

VarHandle.WeakCompareAndSetPlain(Object[]) Method

Definition

Possibly atomically sets the value of a variable to the newValue with the semantics of set(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("weakCompareAndSetPlain", "([Ljava/lang/Object;)Z", "", ApiSince=33)]
public bool WeakCompareAndSetPlain(params Java.Lang.Object[]? args);
[<Android.Runtime.Register("weakCompareAndSetPlain", "([Ljava/lang/Object;)Z", "", ApiSince=33)>]
member this.WeakCompareAndSetPlain : Java.Lang.Object[] -> bool

Parameters

args
Object[]

the signature-polymorphic parameter list of the form (CT1 ct1,..., CTn ctn, T expectedValue, T newValue), statically represented using varargs.

Returns

true if successful, otherwise false if the witness value was not the same as the expectedValue or if this operation spuriously failed.

Attributes

Remarks

Possibly atomically sets the value of a variable to the newValue with the semantics of set(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...). This operation may fail spuriously (typically, due to memory contention) even if the witness value does match the expected value. The method signature is of the form (CT1 ct1,..., CTn ctn, T expectedValue, T newValue)boolean. The symbolic type descriptor at the call site of weakCompareAndSetPlain must match the access mode type that is the result of calling accessModeType(VarHandle.AccessMode.WEAK_COMPARE_AND_SET_PLAIN) on this VarHandle.

Java reference for java.lang.invoke.VarHandle.weakCompareAndSetPlain.

Applies to