Log In
0% completed
All Lessons
Free Lessons (2)
Getting Started
Introduction to Kotlin Coroutines
About the Course
Understanding Kotlin Coroutines
Kotlin Coroutines vs. JVM Libraries
Kotlin Coroutines in Frequent Use Cases
Thread Switching and Callbacks
RxJava and Other Reactive Streams
Using Kotlin Coroutines
Coroutines on the Backend
Sequence Builder
Sequence Builder Real-life Usages
Challenge: Factorial of a Given Number
Solution: Factorial of a Given Number
How Does Suspension Work?
Resuming with a Value
Resuming Suspension with an Exception
Challenge: Suspension Coroutine with Specified Type for Output
Solution: Suspension Coroutine with Specified Type for Output
Quiz: Understanding Kotlin Coroutines
Coroutines Under the Hood
Introduction: Coroutines Under the Hood
A Function with a State and Resumed Value
Performance of Suspending Functions
Coroutines: Built-in Support vs. Library
Challenge: Coroutines Under the Hood
Solution: Coroutines Under the Hood
Quiz: Coroutines Under the Hood
Kotlin Coroutine Library
Introduction: Kotlin Coroutine Library
Coroutines Builders: The launch Builder
Coroutines Builders: The runBlocking Builder
Coroutines Builders: The async Builder
Structured Concurrency
Coroutine Builders: Using coroutineScope
Challenge: Coroutine Builders
Solution: Coroutine Builders
Quiz: Coroutine Builders
Coroutine Context
Interface and Finding Elements in Coroutine Context
Adding, Emptying, and Subtracting Elements and Folding Contexts
Coroutine Context: Accessing and Creating Context
Challenge: Coroutine Context
Solution: Coroutine Context
Quiz: Coroutine Context
Job and Awaiting Children
Introduction: Job and Awaiting Children
Coroutine Builders Job
Job Factory Function
Challenge: Job and Awaiting Children
Solution: Job and Awaiting Children
Quiz: Job and Awaiting Children
Cancellation and Exception Handling
Cancellation
How Does Cancellation Work?
Cancellation: Stopping the Unstoppable
Challenge: Cancellation of a Job
Solution: Cancellation of a Job
Exception Handling
Other Ways of Exception Handling
Challenge: Exception Handling
Solution: Exception Handling
Quiz: Cancellation and Exception Handling
Coroutine Scope Functions
Coroutine Scope Functions
More About coroutineScope
Functions Similar to coroutineScope
Connecting Coroutine Scope Functions
Challenge: Coroutine Scope Functions
Solution: Coroutine Scope Functions
Quiz: Coroutine Scope Functions
Dispatchers and Constructing a Coroutine Scope
Dispatchers
I/O Dispatchers
More on Dispatchers
Mechanism and Performance of Dispatchers
Challenge: Dispatchers
Solution: Dispatchers
Constructing a Coroutine Scope
More on Constructing a Coroutine Scope
Quiz: Dispatchers and Constructing a Coroutine Scope
Shared State
The Problem with Shared State
A Dispatcher Limited to a Single Thread
Advantages and Problems with Mutex
Challenge: The Problem with Shared State
Solution: The Problem with Shared State
Quiz: Shared State
Testing Kotlin Coroutines
Testing Suspending Functions
Functions Used in Testing Kotlin Coroutines
More on Testing Kotlin Coroutines
Testing Functions Properties
Testing Android Functions That Launch Coroutines
Challenge: Testing Kotlin Coroutines
Solution: Testing Kotlin Coroutines
Quiz: Testing Kotlin Coroutines
Channel and Actors
What Is a Channel?
Channel Types
Channel Parameters
Channels as a Communication Primitive
Actors
Challenge: Channel and Actors
Solution: Channel and Actors
Quiz: Channel and Actors
Hot and Cold Data Sources
Hot vs. Cold
Hot Channel and Cold Flow
Challenge: Hot and Cold Data Sources
Solution: Hot and Cold Data Sources
Quiz: Hot and Cold Data Sources
Flow
Introduction to Flow
Characteristics, Elements, and Real-life Use Cases of Flow
Challenge: Practice a Suspending Function Using Flow
Solution: Practice a Suspending Function Using Flow
Quiz: Flow
Flow Building
Different Ways of Building Flows
Understanding Flow Builder
Challenge: Flow Building
Solution: Flow Building
Quiz: Flow Building
Flow Lifecycle Functions
Functionalities of Different Functions
More on Flow Lifecycle Functions
Challenge: Flow Lifecycle Functions
Solution: Flow Lifecycle Functions
Quiz: Flow Lifecycle Functions
Flow Processing, SharedFlow, and StateFlow
Flow Processing
Collection Processing
The fold and scan Functions
flatMap and Terminal Operations
Challenge: Flow Processing
Solution: Flow Processing
SharedFlow and StateFlow
Extension of SharedFlow
Quiz: Flow Processing, SharedFlow, and StateFlow
Wrap Up!
Summary
Mastering Kotlin Coroutines
/
...
/
Challenge: Coroutines Under the Hood
Challenge: Coroutines Under the Hood
Solve a challenge regarding coroutines under the hood.
We'll cover the following...
Problem
Challenge
Problem
...