Coroutines. Hmm. What are they? Coroutines are lightweight threads built and running on top of underlying JVM threads. Coroutines can be thought of as simple threads without much memory footprint. Surprisingly coroutines can switch threads and suspen...