A coroutine is Kotlin's way of tackling asynchronous operations, multi-threaded programming
or manging concurrency.
According to Coroutine Team, Java threads have below problems:
- Context switching for thread can be a costly operation;
- Various the various OS does restrict the number of threads created by per app. They can
- It's always difficult to debug threads;
- Dealing with race conditions can be a nightmare.
=> Coroutine has answered all the above problems & it also runs in parallel.
Used Software Info:
Kotlin v1.6, IntelliJ IDEA Education Edition, JDK 1.8
- Anko-Coroutines: https://github.com/Kotlin/anko/wiki/Anko-Coroutines