AtomicLongArray

Creates a new AtomicLongArray of the given size, where each element is initialized by calling the given init function.

@ExperimentalAtomicApiinline fun AtomicLongArray(size: Int, init: (Int) -> Long): AtomicLongArray(source)
import kotlin.concurrent.atomics.AtomicLongArray
import kotlin.concurrent.atomics.ExperimentalAtomicApi

@OptIn(ExperimentalAtomicApi::class)
fun main() {
    // Create an AtomicLongArray of size 5, initializing each element with its index value
    val array = AtomicLongArray(5) { index -> index.toLong() }

    // Read and print the current values
    for (i in 0 until array.size()) {
        println("array[$i] = ${array[i]}")
    }

    // Atomically add 10 to each element
    for (i in 0 until array.size()) {
        array.addAndGet(i, 10L)
    }

    // Print the updated values
    for (i in 0 until array.size()) {
        println("array[$i] after add = ${array[i]}")
    }
}

Source