Поделиться через


AtomicReferenceFieldUpdater.WeakCompareAndSet(Object, Object, Object) Метод

Определение

Атомарно задает поле заданного объекта, управляемого этим обновлением, заданному обновленному значению, если текущее значение == ожидаемого значения.

[Android.Runtime.Register("weakCompareAndSet", "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z", "GetWeakCompareAndSet_Ljava_lang_Object_Ljava_lang_Object_Ljava_lang_Object_Handler")]
public abstract bool WeakCompareAndSet(Java.Lang.Object? obj, Java.Lang.Object? expect, Java.Lang.Object? update);
[<Android.Runtime.Register("weakCompareAndSet", "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z", "GetWeakCompareAndSet_Ljava_lang_Object_Ljava_lang_Object_Ljava_lang_Object_Handler")>]
abstract member WeakCompareAndSet : Java.Lang.Object * Java.Lang.Object * Java.Lang.Object -> bool

Параметры

obj
Object

Объект, поле которого необходимо задать условно

expect
Object

ожидаемое значение

update
Object

новое значение

Возвращаемое значение

true В случае успешного выполнения

Атрибуты

Комментарии

Атомарно задает поле заданного объекта, управляемого этим обновлением, заданному обновленному значению, если текущее значение == ожидаемого значения. Этот метод гарантированно является атомарным в отношении других вызовов compareAndSet и set, но не обязательно в отношении других изменений в поле.

Эта операция может завершиться сбоем и не предоставляет гарантии заказа, поэтому редко используется соответствующая альтернатива compareAndSet.

Документация по Java для java.util.concurrent.atomic.AtomicReferenceFieldUpdater.weakCompareAndSet(T, V, V).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к