Today's software development landscape makes asynchronous processing one of the most important topics. The ever-increasing number of processors and cores and the massive consumption of external services (which has grown in recent years with the adoption of microservices architectures) are some of the factors that we should keep an eye on and strive to use a good asynchronous approach.
Kotlin's implementation of coroutines is an excellent tool to build asynchronous applications.
In this chapter, we'll cover the following topics:
- Coroutines
- Alternative approaches
- Asynchronous processing
- Channels and actors