CodeBlanks Logo Icon CodeBlanks

launch

GlobalScope.launch ile coroutine başlatmayı öğrenirsin.

launch

launch bir coroutine scope içinde yeni bir coroutine başlatır. Sonuç döndürmeyen, ateşle ve unut (fire-and-forget) tarzında çalışır. Örnek: runBlocking { launch { println("Çalıştı") } }.

launch bir Job döndürür; join() ile bitmesini bekleyebilirsin. Yapısal eşzamanlılık sayesinde runBlocking içerideki tüm launch'lar bitmeden dönmez. Bu, açık join çağrısı yapmadan bile coroutine'lerin tamamlanmasını sağlar.

launch ve join

Bir launch bloğu kendi coroutine'inde sırayla çalışır. İçindeki println satırları yazıldığı sırada ekrana çıkar. Örnek: launch { println("Birinci"); println("İkinci") } çıktısı deterministiktir.

Birden çok launch aynı anda başlayabilir; aralarındaki sıra belirsizdir. Deterministik çıktı için tek bir launch içinde sıralı println kullanılır. join() bir coroutine'in bitmesini bekler; bu, sıralama gerektiğinde faydalıdır. delay ile bekleme de sırayı etkileyebilir.

Uygulama launch ile iki satır yaz

import kotlinx.coroutines.* ekle. fun main() = runBlocking yaz; içinde launch { println("Birinci"); println("İkinci") } çağır. Tek bir launch içinde sıralı yazım deterministik çıktı verir.

Başlangıç kodu

Main.kt
import kotlinx.coroutines.*

// runBlocking içinde launch ile iki satır yazdır

Örnek çözüm

Main.kt
import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        println("Birinci")
        println("İkinci")
    }
}

Beklenen çıktı

Birinci
İkinci

Soru ve cevaplar

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

1 launch çağrısını tamamla

Soru
runBlocking {
    ____ { println("Başladı") }
}
Cevap
runBlocking {
    launch { println("Başladı") }
}

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

2 launch kavramlarını eşle

Kavram Anlamı
launch Başlat
Job Dönüş
join() Bekle
fire-and-forget Sonuçsuz

3 launch ne döndürür?

  • Bir değer
  • Job Doğru cevap
  • Unit
  • Deferred

Açıklama: launch bir Job döndürür; join() ile beklenebilir.

Orta seviye bölümündeki tüm dersler