Introducing coroutines
In addition to the threading model provided by Java, Kotlin also has a coroutines model. Coroutines might be considered lightweight threads, and we'll see what advantages they provide over an existing model of threads shortly.
The first thing you need to know is that coroutines are not part of the language. They are simply another library provided by JetBrains. For that reason, if we want to use them, we need to specify this in our Gradle configuration file; that is, build.gradle.kts
:
dependencies { ... implementation("org.jetbrains.kotlinx:kotlinx- coroutines-core:1.5.1") }
Important Note:
By the time you read this book, the latest version of the Coroutines library will be 1.6 or greater.
First, we will compare starting a new thread and a new coroutine.
Starting coroutines
We've already seen how to start a new thread in Kotlin in the...