The main saving comes from the fact that a single thread can run any number of coroutines, by way of cooperative multitasking. When you launch 100,000 coroutines, they run on as many threads as there are CPU cores, but when you start 100,000 threads, the JVM creates that many native threads.
Read moreAre Kotlin coroutines good?
Coroutines are a great way to write asynchronous code that is perfectly readable and maintainable . Kotlin provides the building block of asynchronous programming with a single language construct: the suspend keyword, along with a bunch of library functions that make it shine.
Read more