Spec-Zone.ru › Kotlin 2

fetchAndDecrementAt

kotlin-stdlib/kotlin.concurrent.atomics/fetchAndDecrementAt

Начиная с Kotlin: 2.1

@ExperimentalAtomicApi
fun AtomicIntArray.fetchAndDecrementAt(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.fetchAndDecrementAt(1)) // 2
println(a.loadAt(1)) // 1
println(a.toString()) // [1, 1, 3] 
   //sampleEnd
}

@ExperimentalAtomicApi
fun AtomicLongArray.fetchAndDecrementAt(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.fetchAndDecrementAt(1)) // 2
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/fetch-and-decrement-at.html

Spec-Zone.ru

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