Atomic Native Ptr
Начиная с Kotlin: 2.1
class AtomicNativePtr(var value: NativePtr)
kotlinx.cinterop.NativePtr, значение которого можно обновлять атомарно.
Операция чтения load имеет те же эффекты памяти, что и чтение свойства Volatile; операция записи store имеет те же эффекты памяти, что и запись свойства Volatile; операции чтения и изменения, такие как exchange, compareAndSet, compareAndExchange, имеют те же эффекты памяти, что и чтение и запись свойства Volatile.
Дополнительные сведения о гарантиях атомарности для чтения и записи см. в разделе kotlin.concurrent.Volatile.
kotlinx.cinterop.NativePtr — это тип-значение, поэтому он хранится в AtomicNativePtr без упаковки, а операции compareAndSet и compareAndExchange выполняют сравнение по значению.
Конструкторы
constructor(value: NativePtr)
Создает новый AtomicNativePtr, инициализированный указанным значением.
Функции
Начиная с Kotlin: 2.1
fun compareAndExchange(expectedValue: NativePtr, newValue: NativePtr): NativePtr
Атомарно записывает указанное новое значение в этот AtomicNativePtr, если текущее значение равно ожидаемому значению, и в любом случае возвращает старое значение.
Начиная с Kotlin: 2.1
fun compareAndSet(expectedValue: NativePtr, newValue: NativePtr): Boolean
Атомарно записывает указанное новое значение в этот AtomicNativePtr, если текущее значение равно ожидаемому значению; возвращает true, если операция выполнена успешно, и false, только если текущее значение не равно ожидаемому.
Начиная с Kotlin: 2.1
fun exchange(newValue: NativePtr): NativePtr
Атомарно записывает указанное новое значение в этот AtomicNativePtr и возвращает старое значение.
Начиная с Kotlin: 2.2
inline fun AtomicNativePtr.fetchAndUpdate(transform: (NativePtr) -> NativePtr): NativePtr
Атомарно обновляет значение этого AtomicNativePtr значением, полученным путем вызова функции transform с текущим значением, и возвращает значение, замененное обновленным.
Начиная с Kotlin: 2.1
fungetAndSet(newValue: NativePtr): NativePtr
Атомарно устанавливает указанное новое значение и возвращает старое.
Начиная с Kotlin: 2.1
fun store(newValue: NativePtr)
Атомарно записывает новое значение в этот AtomicNativePtr.
Начиная с Kotlin: 2.2
inline fun AtomicNativePtr.update(transform: (NativePtr) -> NativePtr)
Атомарно обновляет значение этого AtomicNativePtr значением, полученным путем вызова функции transform с текущим значением.
Начиная с Kotlin: 2.2
inline fun AtomicNativePtr.updateAndFetch(transform: (NativePtr) -> NativePtr): NativePtr
Атомарно обновляет значение этого AtomicNativePtr значением, полученным путем вызова функции transform с текущим значением, и возвращает новое значение.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.concurrent.atomics/-atomic-native-ptr/index.html