Package kotlin.concurrent
Utility functions for concurrent programming.
Types
AtomicArray
An Array in which elements are always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.
class AtomicArray<T>
AtomicInt
An Int value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.
class AtomicInt
AtomicIntArray
An IntArray in which elements are always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.
class AtomicIntArray
AtomicLong
A Long value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.
class AtomicLong
AtomicLongArray
An LongArray in which elements are always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.
class AtomicLongArray
AtomicNativePtr
A kotlinx.cinterop.NativePtr value that is always updated atomically. For additional details about atomicity guarantees for reads and writes see kotlin.concurrent.Volatile.
class AtomicNativePtr
AtomicReference
An object reference that is always updated atomically.
class AtomicReference<T>
Annotations
Volatile
Marks the backing field of the annotated var
property as volatile
, meaning that reads and writes to this field
are atomic and writes are always made visible to other threads. If another thread reads the value of this field (e.g. through its accessor),
it sees not only that value, but all side effects that led to writing that value.
annotation class Volatile
typealias Volatile = Volatile
Extensions for External Classes
Functions
AtomicArray
Creates a new AtomicArray of the given size, where each element is initialized by calling the given init function.
fun <T> AtomicArray(
size: Int,
init: (Int) -> T
): AtomicArray<T>
AtomicIntArray
Creates a new AtomicIntArray of the given size, where each element is initialized by calling the given init function.
fun AtomicIntArray(
size: Int,
init: (Int) -> Int
): AtomicIntArray
AtomicLongArray
Creates a new AtomicLongArray of the given size, where each element is initialized by calling the given init function.
fun AtomicLongArray(
size: Int,
init: (Int) -> Long
): AtomicLongArray
fixedRateTimer
Creates a timer that executes the specified action periodically, starting after the specified initialDelay (expressed in milliseconds) and with the interval of period milliseconds between the start of the previous task and the start of the next one.
thread
Creates a thread that runs the specified block of code.
fun thread(
start: Boolean = true,
isDaemon: Boolean = false,
contextClassLoader: ClassLoader? = null,
name: String? = null,
priority: Int = -1,
block: () -> Unit
): Thread
timer
Creates a timer that executes the specified action periodically, starting after the specified initialDelay (expressed in milliseconds) and with the interval of period milliseconds between the end of the previous task and the start of the next one.