AtomicMarkableReference.WeakCompareAndSet Method

Definition

Atomically sets the value of both the reference and mark to the given update values if the current reference is == to the expected reference and the current mark is equal to the expected mark.

[Android.Runtime.Register("weakCompareAndSet", "(Ljava/lang/Object;Ljava/lang/Object;ZZ)Z", "GetWeakCompareAndSet_Ljava_lang_Object_Ljava_lang_Object_ZZHandler")]
public virtual bool WeakCompareAndSet (Java.Lang.Object? expectedReference, Java.Lang.Object? newReference, bool expectedMark, bool newMark);
[<Android.Runtime.Register("weakCompareAndSet", "(Ljava/lang/Object;Ljava/lang/Object;ZZ)Z", "GetWeakCompareAndSet_Ljava_lang_Object_Ljava_lang_Object_ZZHandler")>]
abstract member WeakCompareAndSet : Java.Lang.Object * Java.Lang.Object * bool * bool -> bool
override this.WeakCompareAndSet : Java.Lang.Object * Java.Lang.Object * bool * bool -> bool

Parameters

expectedReference
Object

the expected value of the reference

newReference
Object

the new value for the reference

expectedMark
Boolean

the expected value of the mark

newMark
Boolean

the new value for the mark

Returns

true if successful

Attributes

Remarks

Atomically sets the value of both the reference and mark to the given update values if the current reference is == to the expected reference and the current mark is equal to the expected mark. This operation may fail spuriously and does not provide ordering guarantees, so is only rarely an appropriate alternative to compareAndSet.

Java documentation for java.util.concurrent.atomic.AtomicMarkableReference.weakCompareAndSet(V, V, boolean, boolean).

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