Coroutines for asynchronous programming and more
Asynchronous or non-blocking programming is the new reality. Whether we're creating server-side, desktop or mobile applications, it's important that we provide an experience that is not only fluid from the user's perspective, but scalable when needed.
There are many approaches to this problem, and in Kotlin we take a very flexible one by providing Coroutine support at the language level and delegating most of the functionality to libraries, much in line with Kotlin's philosophy.
As a bonus, coroutines not only open the doors to asynchronous programming, but also provide a wealth of other possibilities such as concurrency, actors, etc.
How to Start
New to Kotlin? Take a look at the Getting Started page.
Selected documentation pages:
- Coroutines Guide
- Coroutine Context and Dispatchers
- Shared Mutable State and Concurrency
- Asynchronous Flow
- Your first coroutine with Kotlin
- Asynchronous Programming
- Introduction to Coroutines and Channels hands-on lab
Even more examples are on GitHub