Spec-Zone.ru › Kotlin 2

AtomicIntArray

kotlin-stdlib/kotlin.concurrent.atomics/AtomicIntArray

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

@ExperimentalAtomicApi
expect class AtomicIntArray

Массив целых чисел, элементы которого можно обновлять атомарно.

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

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

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

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

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

@ExperimentalAtomicApi
actual class AtomicIntArray

Массив целых чисел, элементы которого можно обновлять атомарно.

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

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

@ExperimentalAtomicApi
actual class AtomicIntArray

Массив целых чисел, элементы которого можно обновлять атомарно.

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

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

@ExperimentalAtomicApi
actual class AtomicIntArray

Массив целых чисел, элементы которого можно обновлять атомарно.

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

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

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

@ExperimentalAtomicApi
actual class AtomicIntArray

Массив целых чисел, элементы которого можно обновлять атомарно.

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

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

AtomicIntArray

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

expect constructor(size: Int)

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

expect constructor(array: IntArray)

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

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

actual constructor(size: Int)

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

actual constructor(array: IntArray)

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

Свойства

length

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

val length: Int

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

size

Начиная с Kotlin: 2.1

expect val size: Int

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

Функции

addAndFetchAt

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

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

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

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

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

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

addAndGet

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

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

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

asJavaAtomicArray

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

@ExperimentalAtomicApi
fun AtomicIntArray.asJavaAtomicArray(): AtomicIntegerArray

Приводит указанный экземпляр AtomicIntArray к типу java.util.concurrent.atomic.AtomicIntegerArray.

compareAndExchange

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

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

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

compareAndExchangeAt

Начиная с Kotlin: 2.1

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

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

compareAndSet

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

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

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

compareAndSetAt

Начиная с Kotlin: 2.1

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

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

decrementAndFetchAt

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

@ExperimentalAtomicApi
fun AtomicIntArray.decrementAndFetchAt(index: Int): Int

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

decrementAndGet

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

fun decrementAndGet(index: Int): Int

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

exchangeAt

Начиная с Kotlin: 2.1

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

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

fetchAndAddAt

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

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

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

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

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

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

fetchAndDecrementAt

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

@ExperimentalAtomicApi
fun AtomicIntArray.fetchAndDecrementAt(index: Int): Int

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

fetchAndIncrementAt

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

@ExperimentalAtomicApi
fun AtomicIntArray.fetchAndIncrementAt(index: Int): Int

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

fetchAndUpdateAt

Начиная с Kotlin: 2.2

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

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

get

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

operator fun get(index: Int): Int

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

getAndAdd

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

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

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

getAndDecrement

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

fun getAndDecrement(index: Int): Int

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

getAndIncrement

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

fun getAndIncrement(index: Int): Int

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

getAndSet

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

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

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

incrementAndFetchAt

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

@ExperimentalAtomicApi
fun AtomicIntArray.incrementAndFetchAt(index: Int): Int

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

incrementAndGet

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

fun incrementAndGet(index: Int): Int

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

loadAt

Начиная с Kotlin: 2.1

expect fun loadAt(index: Int): Int

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

set

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

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

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

storeAt

Начиная с Kotlin: 2.1

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

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

toString

Начиная с Kotlin: 2.1

expect open override fun toString(): String

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

updateAndFetchAt

Начиная с Kotlin: 2.2

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

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

updateAt

Начиная с Kotlin: 2.2

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

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

Spec-Zone.ru

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