AtomicNativePtr
class AtomicNativePtr
Значение kotlinx.cinterop.NativePtr, которое всегда обновляется атомарно. Дополнительные сведения об гарантиях атомарности для чтения и записи см. в kotlin.concurrent.Volatile.
kotlinx.cinterop.NativePtr — тип значений, поэтому он хранится в AtomicNativePtr без боксрования, а операции compareAndSet и compareAndExchange выполняют сравнение по значению.
Наследие MM: Атомарные значения и заморозка: этот тип уникален с точки зрения заморозки. А именно, он предоставляет мутирующие операции, но может участвовать в замороженных подграфах. Таким образом, общие замороженные объекты могут иметь изменяемые поля типа AtomicNativePtr.
Конструкторы
<init>
Значение kotlinx.cinterop.NativePtr, которое всегда обновляется атомарно. Дополнительные сведения об гарантиях атомарности для чтения и записи см. в kotlin.concurrent.Volatile.
AtomicNativePtr(value: NativePtr)
Свойства
значение
var value: NativePtr
Функции
compareAndExchange
Атомарно устанавливает значение на заданное новое значение, если текущее значение равно ожидаемому значению, и в любом случае возвращает старое значение.
fun compareAndExchange( expected: NativePtr, newValue: NativePtr ): NativePtr
compareAndSet
Атомарно устанавливает значение на заданное новое значение, если текущее значение равно ожидаемому значению, возвращает true, если операция выполнена успешно, и false только в том случае, если текущее значение не было равно ожидаемому значению.
fun compareAndSet( expected: NativePtr, newValue: NativePtr ): Boolean
getAndSet
Атомарно устанавливает значение на заданное новое значение и возвращает старое значение.
fun getAndSet(newValue: NativePtr): NativePtr
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.concurrent/-atomic-native-ptr/index.html