Spec-Zone.ru › Kotlin 2

decrementAndFetchAt

kotlin-stdlib/kotlin.concurrent.atomics/decrementAndFetchAt

Начиная с Kotlin: 2.1

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

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

Выбрасывает исключение

IndexOutOfBoundsException

если индекс выходит за границы этого массива.

Примеры

import kotlin.concurrent.atomics.*
import kotlin.concurrent.atomics.AtomicArray
import kotlin.test.assertFailsWith

fun main() { 
   //sampleStart 
   val a = AtomicIntArray(intArrayOf(1, 2, 3))
println(a.decrementAndFetchAt(1)) // 1
println(a.loadAt(1)) // 1
println(a.toString()) // [1, 1, 3] 
   //sampleEnd
}

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

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

Выбрасывает исключение

IndexOutOfBoundsException

если индекс выходит за границы этого массива.

Примеры

import kotlin.concurrent.atomics.*
import kotlin.concurrent.atomics.AtomicArray
import kotlin.test.assertFailsWith

fun main() { 
   //sampleStart 
   val a = AtomicLongArray(longArrayOf(1, 2, 3))
println(a.decrementAndFetchAt(1)) // 1
println(a.loadAt(1)) // 1
println(a.toString()) // [1, 1, 3] 
   //sampleEnd
}

© 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/decrement-and-fetch-at.html

Spec-Zone.ru

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