tezvyn:

How does coroutine cancellation work internally?

Source: kotlinlang.orgadvanced

Tests your grasp of cooperative cancellation. A good answer explains that `cancel()` sets a flag, `suspend` functions check it and throw `CancellationException`, and non-suspending loops need manual `isActive` checks.

This tests your deep knowledge of cooperative cancellation in structured concurrency. A great answer explains that `job.cancel()` sets a flag, cooperative `suspend` functions check this flag at suspension points and throw `CancellationException`, and long-running, non-suspending computations must manually check the `isActive` property to become cancellable. A common red flag is assuming cancellation is preemptive, like a thread interruption, instead of a cooperative process that requires explicit check-in points.

Read the original → kotlinlang.org

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.

How does coroutine cancellation work internally? · Tezvyn