atomicArrayOfNulls

Returns a new AtomicArray of the given type with the given size, initialized with null values.

@ExperimentalAtomicApiinline fun <T> atomicArrayOfNulls(size: Int): AtomicArray<T?>(source)
import kotlin.concurrent.atomics.*

@OptIn(ExperimentalAtomicApi::class)
fun main() {
    // Create an AtomicArray of size 5, all entries initialized to null
    val arr = atomicArrayOfNulls<Int>(5)

    // Verify initial state (all nulls)
    println("initial: ${arr[0]}, ${arr[1]}, ${arr[2]}, ${arr[3]}, ${arr[4]}")

    // Set the element at index 2 to 10
    arr[2] = 10
    println("after set: ${arr[2]}")

    // Compare and set: replace 10 with 20 only if current value is 10
    val replaced = arr.compareAndSet(2, 10, 20)
    println("compareAndSet result: $replaced, new value: ${arr[2]}")

    // Attempt to replace 10 with 30 (should fail because current value is 20)
    val failed = arr.compareAndSet(2, 10, 30)
    println("compareAndSet failed: $failed, value remains: ${arr[2]}")
}

Source