W3cubDocs

/Kotlin

FreezableAtomicReference

Platform and version requirements: Native (1.3)
class FreezableAtomicReference<T>

An atomic reference to a Kotlin object. Can be used in concurrent scenarious, but must be frozen first, otherwise behaves as regular box for the value. If frozen, shall be zeroed out once no longer needed. Otherwise memory leak could happen if atomic reference is a part of a reference cycle.

Constructors

Platform and version requirements: Native (1.3)

<init>

An atomic reference to a Kotlin object. Can be used in concurrent scenarious, but must be frozen first, otherwise behaves as regular box for the value. If frozen, shall be zeroed out once no longer needed. Otherwise memory leak could happen if atomic reference is a part of a reference cycle.

FreezableAtomicReference(value_: T)

Properties

Platform and version requirements: Native (1.3)

value

The referenced value. Gets the value or sets the new value. If new value is not null, and this is frozen - it must be frozen or permanent object.

var value: T

Functions

Platform and version requirements: Native (1.3)

compareAndSet

Compares value with expected and replaces it with new value if values matches. Note that comparison is identity-based, not value-based.

fun compareAndSet(expected: T, new: T): Boolean
Platform and version requirements: Native (1.3)

compareAndSwap

Compares value with expected and replaces it with new value if values matches. If new value is not null and object is frozen, it must be frozen or permanent object.

fun compareAndSwap(expected: T, new: T): T
Platform and version requirements: Native (1.3)

toString

Returns the string representation of this object.

fun toString(): String

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.native.concurrent/-freezable-atomic-reference/index.html