Difference between thread and coroutine in Kotlin
Is there any specific language implementation in Kotlin, which differs it from another languages implementation of coroutines? What means that coroutine is like light-weight thread? What is the difference? Are kotlin coroutines actually running in parallely / concurrently? Even in multi-core system, there is only one coroutine running at any given time (is it right?) Here I'm starting 100000 coroutines, what happens behind this code? for(i in 0..100000){ async(CommonPool){ //run long running operations } } Ruslan Since I used coroutines only on JVM, I will talk about JVM backend, there are