Coroutines provide us an easy way to do synchronous and asynchronous programming . Coroutines allow execution to be suspended and resumed later at some point in the future which is best suited for performing non-blocking operations in the case of multithreading. Coroutines were added to Kotlin in version 1.1.27 Haz 2021