Spec-Zone.ru › Kotlin 2

AtomicNativePtr

kotlin-stdlib/kotlin.concurrent.atomics/AtomicNativePtr

Начиная с Kotlin: 2.1

@ExperimentalAtomicApi
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 выполняют сравнение по значению.

Конструкторы

AtomicNativePtr
constructor(value: NativePtr)

Создает новый AtomicNativePtr, инициализированный указанным значением.

Свойства

value

Начиная с Kotlin: 2.1

@Volatile
var value: NativePtr

Функции

compareAndExchange

Начиная с Kotlin: 2.1

fun compareAndExchange(expectedValue: NativePtr, newValue: NativePtr): NativePtr

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

compareAndSet

Начиная с Kotlin: 2.1

fun compareAndSet(expectedValue: NativePtr, newValue: NativePtr): Boolean

Атомарно записывает указанное новое значение в этот AtomicNativePtr, если текущее значение равно ожидаемому значению; возвращает true, если операция выполнена успешно, и false, только если текущее значение не равно ожидаемому.

exchange

Начиная с Kotlin: 2.1

fun exchange(newValue: NativePtr): NativePtr

Атомарно записывает указанное новое значение в этот AtomicNativePtr и возвращает старое значение.

fetchAndUpdate

Начиная с Kotlin: 2.2

@ExperimentalAtomicApi
inline fun AtomicNativePtr.fetchAndUpdate(transform: (NativePtr) -> NativePtr): NativePtr

Атомарно обновляет значение этого AtomicNativePtr значением, полученным путем вызова функции transform с текущим значением, и возвращает значение, замененное обновленным.

getAndSet

Начиная с Kotlin: 2.1

fun getAndSet(newValue: NativePtr): NativePtr

Атомарно устанавливает указанное новое значение и возвращает старое.

load

Начиная с Kotlin: 2.1

fun load(): NativePtr

Атомарно загружает значение из этого AtomicNativePtr.

store

Начиная с Kotlin: 2.1

fun store(newValue: NativePtr)

Атомарно записывает новое значение в этот AtomicNativePtr.

toString

Начиная с Kotlin: 2.1

open override fun toString(): String

Возвращает строковое представление лежащего в основе значения NativePtr.

update

Начиная с Kotlin: 2.2

@ExperimentalAtomicApi
inline fun AtomicNativePtr.update(transform: (NativePtr) -> NativePtr)

Атомарно обновляет значение этого AtomicNativePtr значением, полученным путем вызова функции transform с текущим значением.

updateAndFetch

Начиная с Kotlin: 2.2

@ExperimentalAtomicApi
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API