CoroutineStart

enum CoroutineStart : Enum<CoroutineStart>

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:

  • DEFAULT -- immediately schedules coroutine for execution according to its context;

  • LAZY -- starts coroutine lazily, only when it is needed;

  • ATOMIC -- atomically (in a non-cancellable way) schedules coroutine for execution according to its context;

  • UNDISPATCHED -- immediately executes coroutine until its first suspension point in the current thread.

Entries

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard

Starts the coroutine lazily, only when it is needed.

Link copied to clipboard

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

Sources

Link copied to clipboard