CodeBlanks Logo Icon CodeBlanks

CoroutineScope

CoroutineScope ile yapılandırılmış eşzamanlılık öğrenirsin.

CoroutineScope nedir?

Bir CoroutineScope, içinde coroutine'lerin yaşadığı kapsamdır. Her coroutine bir kapsama bağlıdır; kapsam iptal edilirse tüm çocuk coroutine'ler de iptal olur.

Kotlin'de runBlocking bir kapsam oluşturur ve blok tamamlanana kadar thread'i bekletir. launch ile kapsam içinde yeni bir coroutine başlatırsın; dönüşü Job türündendir. Bu derste runBlocking ve launch ile ilk coroutine'ni yazdıracaksın.

runBlocking ile kapsam

runBlocking çağrıldığında yeni bir CoroutineScope oluşturur ve blok tamamlanana kadar bekler. İçinde launch ile yeni coroutine'ler başlatırsın.

Örnek: runBlocking { launch { println("Çalışıyor") } }. Burada runBlocking dış çerçeveyi, launch ise bir coroutine'i temsil eder. println içindeki mesaj ekrana yazılır; program runBlocking çıkınca sonlanır.

Uygulama İlk coroutine'ni yaz

runBlocking ile bir kapsam aç. İçinde launch ile bir coroutine başlat ve println("Merhaba coroutine") yazdır. runBlocking bitince program çıksın.

Başlangıç kodu

Main.kt
// runBlocking ve launch ile ilk coroutine
// buraya yaz
fun main() {
    
}

Örnek çözüm

Main.kt
fun main() = runBlocking {
    launch {
        println("Merhaba coroutine")
    }
}

Beklenen çıktı

Merhaba coroutine

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi bir coroutine başlatır?

  • launch Doğru cevap
  • println
  • main
  • val

Açıklama: launch ile yeni bir coroutine başlatılır.

2 CoroutineScope tanımını tamamla

Soru
val scope = CoroutineScope(____)
Cevap
val scope = CoroutineScope(Dispatchers.Default)

Açıklama: CoroutineScope bir dispatcher alır.

3 Coroutine parçalarını eşle

Kavram Anlamı
CoroutineScope Kapsam
launch Başlatır
Job Dönüş türü
runBlocking Bekler

İleri seviye bölümündeki tüm dersler