AtomicNativePtr
@DeprecatedSinceKotlin("1.9") class AtomicNativePtr Устаревшее: Используйте kotlin.concurrent.AtomicNativePtr вместо этого.Значение kotlinx.cinterop.NativePtr, которое всегда обновляется атомарно. Дополнительные сведения о гарантиях атомарности для чтений и записей см. в kotlin.concurrent.Volatile.
kotlinx.cinterop.NativePtr — это тип значения, поэтому он хранится в AtomicNativePtr без боксрования, а операции compareAndSet и compareAndSwap выполняют сравнение по значению.
Наследие MM: Атомарные значения и замораживание: этот тип уникален в отношении замораживания. А именно, он предоставляет операции изменения, но может участвовать в замороженных подграфах. Таким образом, общие замороженные объекты могут иметь изменяемые поля типа AtomicNativePtr.
Конструкторы
<init>
Значение kotlinx.cinterop.NativePtr, которое всегда обновляется атомарно. Дополнительные сведения о гарантиях атомарности для чтений и записей см. в kotlin.concurrent.Volatile.
AtomicNativePtr(value: NativePtr)
Свойства
value
var value: NativePtr
Функции
compareAndSet
Атомарно устанавливает значение на заданное новое значение, если текущее значение равно ожидаемому значению, возвращает true, если операция выполнена успешно, и false только в том случае, если текущее значение не равно ожидаемому значению.
fun compareAndSet( expected: NativePtr, newValue: NativePtr ): Boolean
compareAndSwap
Атомарно устанавливает значение на заданное новое значение, если текущее значение равно ожидаемому значению, и в любом случае возвращает старое значение.
fun compareAndSwap( expected: NativePtr, newValue: NativePtr ): NativePtr
getAndSet
Атомарно устанавливает значение на заданное новое значение и возвращает старое значение.
fun getAndSet(newValue: NativePtr): NativePtr
toString
Возвращает строковое представление этого объекта.
fun toString(): String
© 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.native.concurrent/-atomic-native-ptr/index.html