AtomicIntArray
Creates a new AtomicIntArray of the given size, where each element is initialized by calling the given init function.
@ExperimentalAtomicApiinline fun AtomicIntArray(size: Int, init: (Int) -> Int): AtomicIntArray(source)
import kotlin.concurrent.atomics.*
@OptIn(ExperimentalAtomicApi::class)
fun main() {
// Create an AtomicIntArray of size 5, initializing each element with its index
val atomicArray = AtomicIntArray(5) { index -> index }
// Read elements atomically
println("Initial values:")
for (i in 0 until atomicArray.size) {
println("index $i = ${atomicArray[i]}")
}
// Atomically set a value
atomicArray[2] = 42
println("\nAfter setting index 2 to 42: ${atomicArray[2]}")
// Atomically add to a value
atomicArray.addAndGet(4, 10)
println("After adding 10 to index 4: ${atomicArray[4]}")
}