blob: c8789699d1a676559653dba313a87e7a33506e55 [file]
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package kotlin.concurrent
// Only for compatibility with shared K/N stdlib code
internal class AtomicReference<T>(public var value: T) {
public fun compareAndExchange(expected: T, new: T): T {
if (value == expected) {
val old = value
value = new
return old
}
return value
}
public fun compareAndSet(expected: T, new: T): Boolean {
if (value == expected) {
value = new
return true
}
return false
}
}