ReadWriteLock

A non-reentrant suspending implementation of a Read-Write lock.

Constructors

Link copied to clipboard
constructor()

Functions

Link copied to clipboard
suspend fun readLock()

Acquires a read lock. Suspends if a write lock is currently held.

Link copied to clipboard
suspend fun readUnlock()

Releases a previously acquired read lock.

Link copied to clipboard
suspend fun <R> withReadLock(block: suspend () -> R): R

Executes the given block of code within a read lock. Suspends until the read lock can be acquired.

Link copied to clipboard
suspend fun <R> withWriteLock(block: suspend () -> R): R

Executes the given block of code within a write lock. Suspends until the write lock can be acquired.

Link copied to clipboard
suspend fun writeLock()

Acquires a write lock. Suspends if any read or write locks are currently held.

Link copied to clipboard

Releases a previously acquired write lock.