Spec-Zone.ru › Kotlin 2

AtomicBoolean

kotlin-stdlib/kotlin.concurrent.atomics/AtomicBoolean

Требования к платформе и версии: Common (2.1)

@ExperimentalAtomicApi
expect class AtomicBoolean(value: Boolean)

Значение Boolean, которое можно обновлять атомарно.

Особенности реализации для платформ:

При использовании бэкенда Native AtomicBoolean хранит volatile-переменную Boolean и обновляет её атомарно. Дополнительные сведения о гарантиях атомарности при чтении и записи см. в документации kotlin.concurrent.Volatile.

При использовании JVM экземпляры AtomicBoolean представлены типом java.util.concurrent.atomic.AtomicBoolean. Сведения о гарантиях volatile-доступов и атомарных обновлений см. в спецификации языка Java (17.4 Модель памяти).

Для JS и Wasm реализация AtomicBoolean тривиальна и не является потокобезопасной, поскольку эти платформы не поддерживают многопоточность.

Требования к платформе и версии: JS (2.1)

@ExperimentalAtomicApi
actual class AtomicBoolean(value: Boolean)

Значение Boolean, которое можно обновлять атомарно.

Поскольку платформа JS не поддерживает многопоточность, реализация тривиальна и не использует атомарную синхронизацию.

Требования к платформе и версии: JVM (2.1)

@ExperimentalAtomicApi
actual class AtomicBoolean(value: Boolean)

Значение Boolean, которое можно обновлять атомарно.

Экземпляры AtomicBoolean представлены типом java.util.concurrent.atomic.AtomicBoolean и обеспечивают те же гарантии атомарности.

Требования к платформе и версии: Native (2.1)

@ExperimentalAtomicApi
actual class AtomicBoolean(value: Boolean)

Значение Boolean, которое можно обновлять атомарно.

Операция чтения load имеет те же эффекты на память, что и чтение свойства Volatile; операция записи store имеет те же эффекты на память, что и запись свойства Volatile; операции чтения-изменения-записи, такие как exchange, compareAndSet, compareAndExchange, имеют те же эффекты на память, что и чтение и запись свойства Volatile.

Дополнительные сведения о гарантиях атомарности при чтении и записи см. в документации kotlin.concurrent.Volatile.

Требования к платформе и версии: Wasm-JS (2.1), Wasm-WASI (2.1)

@ExperimentalAtomicApi
actual class AtomicBoolean(value: Boolean)

Значение Boolean, которое можно обновлять атомарно.

Поскольку платформа Wasm не поддерживает многопоточность, реализация тривиальна и не использует атомарную синхронизацию.

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

AtomicBoolean
expect constructor(value: Boolean)

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

Функции

asJavaAtomic

Требования к платформе и версии: JVM (2.1)

@ExperimentalAtomicApi
fun AtomicBoolean.asJavaAtomic(): AtomicBoolean

Преобразует указанный экземпляр AtomicBoolean в java.util.concurrent.atomic.AtomicBoolean.

compareAndExchange

Начиная с Kotlin: 2.1

expect fun compareAndExchange(expectedValue: Boolean, newValue: Boolean): Boolean

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

compareAndSet

Начиная с Kotlin: 2.1

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

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

exchange

Начиная с Kotlin: 2.1

expect fun exchange(newValue: Boolean): Boolean

Атомарно сохраняет указанное новое значение в этом AtomicBoolean и возвращает старое значение.

load

Начиная с Kotlin: 2.1

expect fun load(): Boolean

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

store

Начиная с Kotlin: 2.1

expect fun store(newValue: Boolean)

Атомарно сохраняет новое значение в этом AtomicBoolean.

toString

Требования к платформе и версии: Common (2.1)

expect open override fun toString(): String

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

Требования к платформе и версии: JS (2.1), JVM (2.1), Native (2.1), Wasm-JS (2.1), Wasm-WASI (2.1)

actual open override fun toString(): String

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

© 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-boolean/index.html

Spec-Zone.ru

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