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