0
0
Kotlinprogramming~20 mins

Dispatchers.Main, IO, Default behavior in Kotlin - Mini Project: Build & Apply

Choose your learning style9 modes available
Using Kotlin Dispatchers: Main, IO, and Default
📖 Scenario: You are building a simple Kotlin program that simulates tasks running on different threads using Dispatchers.Main, Dispatchers.IO, and Dispatchers.Default. This helps you understand how Kotlin manages work on the main thread, background IO tasks, and CPU-intensive tasks.
🎯 Goal: Create a Kotlin program that launches three coroutines, each using a different dispatcher: Main, IO, and Default. Each coroutine prints a message showing which dispatcher it is running on.
📋 What You'll Learn
Create a CoroutineScope using Dispatchers.Main.
Create a variable ioScope using CoroutineScope(Dispatchers.IO).
Create a variable defaultScope using CoroutineScope(Dispatchers.Default).
Launch one coroutine in each scope that prints a message with the dispatcher name.
Print all messages so you can see which dispatcher runs which coroutine.
💡 Why This Matters
🌍 Real World
Understanding dispatchers helps you write Kotlin programs that run tasks on the right threads, improving app responsiveness and performance.
💼 Career
Many Kotlin developers use coroutines and dispatchers daily to manage background work, UI updates, and CPU-heavy tasks efficiently.
Progress0 / 4 steps
1
Set up CoroutineScopes for Main, IO, and Default
Create three variables: mainScope as CoroutineScope(Dispatchers.Main), ioScope as CoroutineScope(Dispatchers.IO), and defaultScope as CoroutineScope(Dispatchers.Default).
Kotlin
Need a hint?

Use CoroutineScope(Dispatchers.Main) to create mainScope. Do the same for ioScope and defaultScope with Dispatchers.IO and Dispatchers.Default.

2
Launch coroutine in mainScope
Use mainScope.launch to start a coroutine that prints "Running on Main dispatcher".
Kotlin
Need a hint?

Use mainScope.launch { println("Running on Main dispatcher") } to start the coroutine.

3
Launch coroutines in ioScope and defaultScope
Use ioScope.launch to print "Running on IO dispatcher" and defaultScope.launch to print "Running on Default dispatcher".
Kotlin
Need a hint?

Use ioScope.launch { println("Running on IO dispatcher") } and defaultScope.launch { println("Running on Default dispatcher") }.

4
Wait for coroutines to finish and print all messages
Add Thread.sleep(500) at the end to allow all coroutines to complete and print their messages.
Kotlin
Need a hint?

Use Thread.sleep(500) to pause the main thread so all coroutines can print their messages.