CoroutineScope
- Kotlin kursu
- İleri seviye
- Ders 1/83
- 5 dk
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
// runBlocking ve launch ile ilk coroutine
// buraya yaz
fun main() {
}Örnek çözüm
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
val scope = CoroutineScope(____)
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 |