In this chapter, we will cover the following recipes:
- Executing tasks in the background using threads
- Background threads synchronization
- Using coroutines for asynchronous, concurrent execution of tasks
- Using coroutines for asynchronous, concurrent tasks execution with results handling
- Applying coroutines for asynchronous data processing
- Easy coroutine cancelation
- Building a REST API client with Retrofit and a coroutines adapter
- Wrapping third-party callback-style APIs with coroutines