Spec-Zone.ru › Kotlin 2

AtomicLongArray

kotlin-stdlib/kotlin.concurrent.atomics/AtomicLongArray

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

@ExperimentalAtomicApi
expect class AtomicLongArray

Массив значений типа long, элементы которого можно обновлять атомарно.

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

При использовании бэкенда Native AtomicLongArray хранит LongArray и атомарно обновляет его элементы. Дополнительные сведения о гарантиях атомарности при чтении и записи см. в описании kotlin.concurrent.Volatile.

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

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

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

@ExperimentalAtomicApi
actual class AtomicLongArray

Массив значений типа long, элементы которого можно обновлять атомарно.

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

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

@ExperimentalAtomicApi
actual class AtomicLongArray

Массив значений типа long, элементы которого можно обновлять атомарно.

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

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

@ExperimentalAtomicApi
actual class AtomicLongArray

Массив значений типа long, элементы которого можно обновлять атомарно.

Операция чтения loadAt имеет те же эффекты для памяти, что и чтение свойства Volatile; операция записи storeAt имеет те же эффекты для памяти, что и запись свойства Volatile; операции чтения-модификации-записи, такие как exchangeAt, compareAndSetAt, compareAndExchangeAt, fetchAndAddAt, addAndFetchAt, имеют те же эффекты для памяти, что и чтение и запись свойства Volatile.

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

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

@ExperimentalAtomicApi
actual class AtomicLongArray

Массив значений типа long, элементы которого можно обновлять атомарно.

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

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

AtomicLongArray

Требования к платформе и версии: Common, Native

expect constructor(size: Int)

Создает новый AtomicLongArray указанного размера, инициализируя все элементы нулем.

expect constructor(array: LongArray)

Создает новый AtomicLongArray, заполненный элементами заданного массива.

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

actual constructor(size: Int)

Создает новый AtomicLongArray заданного размера, инициализируя все элементы нулем.

actual constructor(array: LongArray)

Создает новый AtomicLongArray, заполненный элементами заданного массива.

Свойства

length

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

val length: Int

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

size

Начиная с Kotlin: 2.1

expect val size: Int

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

Функции

addAndFetchAt

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

expect fun addAndFetchAt(index: Int, delta: Long): Long

Атомарно прибавляет заданное приращение к элементу этого AtomicLongArray по указанному индексу и возвращает новое значение элемента.

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

actual fun addAndFetchAt(index: Int, delta: Long): Long

Атомарно прибавляет заданное приращение к элементу этого AtomicLongArray по указанному индексу и возвращает новое значение элемента.

addAndGet

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

fun addAndGet(index: Int, delta: Long): Long

Атомарно прибавляет заданное приращение к элементу по указанному индексу и возвращает новое значение элемента.

asJavaAtomicArray

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

@ExperimentalAtomicApi
fun AtomicLongArray.asJavaAtomicArray(): AtomicLongArray

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

compareAndExchange

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

fun compareAndExchange(index: Int, expectedValue: Long, newValue: Long): Long

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

compareAndExchangeAt

Начиная с Kotlin: 2.1

expect fun compareAndExchangeAt(index: Int, expectedValue: Long, newValue: Long): Long

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

compareAndSet

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

fun compareAndSet(index: Int, expectedValue: Long, newValue: Long): Boolean

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

compareAndSetAt

Начиная с Kotlin: 2.1

expect fun compareAndSetAt(index: Int, expectedValue: Long, newValue: Long): Boolean

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

decrementAndFetchAt

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

@ExperimentalAtomicApi
fun AtomicLongArray.decrementAndFetchAt(index: Int): Long

Атомарно уменьшает на единицу элемент этого AtomicLongArray по указанному индексу и возвращает новое значение элемента.

decrementAndGet

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

fun decrementAndGet(index: Int): Long

Атомарно уменьшает на единицу элемент по указанному индексу и возвращает новое значение элемента.

exchangeAt

Начиная с Kotlin: 2.1

expect fun exchangeAt(index: Int, newValue: Long): Long

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

fetchAndAddAt

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

expect fun fetchAndAddAt(index: Int, delta: Long): Long

Атомарно прибавляет заданное приращение к элементу этого AtomicLongArray по указанному индексу и возвращает старое значение элемента.

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

actual fun fetchAndAddAt(index: Int, delta: Long): Long

Атомарно прибавляет заданное приращение к элементу этого AtomicLongArray по указанному индексу и возвращает старое значение элемента.

fetchAndDecrementAt

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

@ExperimentalAtomicApi
fun AtomicLongArray.fetchAndDecrementAt(index: Int): Long

Атомарно уменьшает на единицу элемент этого AtomicLongArray по указанному индексу и возвращает старое значение элемента.

fetchAndIncrementAt

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

@ExperimentalAtomicApi
fun AtomicLongArray.fetchAndIncrementAt(index: Int): Long

Атомарно увеличивает на единицу элемент этого AtomicLongArray по указанному индексу и возвращает старое значение элемента.

fetchAndUpdateAt

Начиная с Kotlin: 2.2

@ExperimentalAtomicApi
expect inline fun AtomicLongArray.fetchAndUpdateAt(index: Int, transform: (Long) -> Long): Long

Атомарно обновляет элемент этого AtomicLongArray по указанному индексу с помощью функции transform и возвращает старое значение элемента.

get

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

operator fun get(index: Int): Long

Атомарно получает значение элемента по указанному индексу.

getAndAdd

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

fun getAndAdd(index: Int, delta: Long): Long

Атомарно прибавляет заданное приращение к элементу по указанному индексу и возвращает старое значение элемента.

getAndDecrement

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

fun getAndDecrement(index: Int): Long

Атомарно уменьшает на единицу элемент по указанному индексу и возвращает старое значение элемента.

getAndIncrement

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

fun getAndIncrement(index: Int): Long

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

getAndSet

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

fun getAndSet(index: Int, newValue: Long): Long

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

incrementAndFetchAt

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

@ExperimentalAtomicApi
fun AtomicLongArray.incrementAndFetchAt(index: Int): Long

Атомарно увеличивает на единицу элемент этого AtomicLongArray по указанному индексу и возвращает новое значение элемента.

incrementAndGet

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

fun incrementAndGet(index: Int): Long

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

loadAt

Начиная с Kotlin: 2.1

expect fun loadAt(index: Int): Long

Атомарно загружает значение из элемента этого AtomicLongArray по указанному индексу.

set

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

operator fun set(index: Int, newValue: Long)

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

storeAt

Начиная с Kotlin: 2.1

expect fun storeAt(index: Int, newValue: Long)

Атомарно записывает новое значение в элемент этого AtomicLongArray по указанному индексу.

toString

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

expect open override fun toString(): String

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

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

actual open override fun toString(): String

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

updateAndFetchAt

Начиная с Kotlin: 2.2

@ExperimentalAtomicApi
expect inline fun AtomicLongArray.updateAndFetchAt(index: Int, transform: (Long) -> Long): Long

Атомарно обновляет элемент этого AtomicLongArray по указанному индексу с помощью функции transform и возвращает обновленное значение элемента.

updateAt

Начиная с Kotlin: 2.2

@ExperimentalAtomicApi
expect inline fun AtomicLongArray.updateAt(index: Int, transform: (Long) -> Long)

Атомарно обновляет элемент этого AtomicLongArray по указанному индексу с помощью функции 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-long-array/index.html

Spec-Zone.ru

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