CoroutineStart

enum class CoroutineStart (source)

Defines start options for coroutines builders. It is used in start parameter of launch, async, and other coroutine builder functions.

The summary of coroutine start options is:

Enum Values

DEFAULT

Default – immediately schedules the coroutine for execution according to its context.

LAZY

Starts the coroutine lazily, only when it is needed.

ATOMIC

Atomically (i.e., in a non-cancellable way) schedules the coroutine for execution according to its context. This is similar to DEFAULT, but the coroutine cannot be cancelled before it starts executing.

UNDISPATCHED

Immediately executes the coroutine until its first suspension point in the current thread as if the coroutine was started using Dispatchers.Unconfined. However, when the coroutine is resumed from suspension it is dispatched according to the CoroutineDispatcher in its context.