Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Preface
Guidelines and Recommendations for reading this book
What to expect
1. Handling Concurrency with the Callback Pattern
Example of purchase feature
The architecture
Creating the app
View-model
View
Implement the logic
Discussion
Structured concurrency
Memory leaks
Limitations of the threading model
Summary
2. Coroutines concepts
What exactly is a coroutine?
Your first coroutine
The async coroutine builder
A quick detour about Structured Concurrency
The parent-child relationship in structured concurrency
CoroutineScope and CoroutineContext
Suspending functions
Suspending functions under the hood
Using coroutines and suspending functions, a practical example
Don’t be mistaken about the suspend modifier
Summary
3. Structured Concurrency with Coroutines
Suspending functions
Traditional approach using java.util.concurrent.ExecutorService
Using suspending functions and coroutines
Cancellation
Coroutine lifecycle
Cancelling a coroutine
Cancelling a task delegated to a third-party library
Coroutines which are cooperative with cancellation
Handling cancellation
Causes of cancellation
Supervision
supervisorScope builder
Parallel decomposition
Exception handling
Unhandled vs Exposed exceptions
Exposed exceptions
Unhandled exceptions
Summary
4. Channels
Channels overview
Rendez-vous Channel
Unlimited Channel
Conflated Channel
Buffered Channel
Channel producers
Communicating Sequential Processes
Model and Architecture
A first implementation
The select expression
Putting it all together
Performance test
Back Pressure
Similarities with the Actor model
Final thoughts
Deadlock in CSP
Limitations of channels
Channels are hot
Summary
← Prev
Back
Next →
← Prev
Back
Next →