Why you should use Coroutines in the first place? They provide a way to write asynchronous code in a sequential manner, making our code much easier to read . In some way, they are similar to threads, but they are much more efficient, as multiple coroutines can run on a single thread.