Junior — Middle
Koritinalar kullanılırken asenkronluk nasıl uygulanır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de korotinlerde asenkronluk, yürütmenin duraklatılması ve yeniden başlatılmasıyla sağlanır; bu, iş parçacıklarını engellemeden yapılır. Bir korotin, zaman alabilecek bir işlemle karşılaştığında (suspend), duraklatılır ve diğer görevler için iş parçacığı serbest bırakılır. İşlem tamamlandıktan sonra, korotin aynı noktadan devam eder.
Bu, suspend fonksiyonları ve derleyici mekanizması aracılığıyla gerçekleştirilir; bu mekanizma, korotinleri son durum makinelerine dönüştürür. Böylece, açıkça geri çağırma olmadan ardışık tarzda asenkron kod yazılabilir.
Kotlin'de örnek:
suspend fun fetchData(): String {
delay(1000) // korotini 1 saniye duraklatır, iş parçacığını engellemez
return "Data loaded"
}
fun main() = runBlocking {
val result = fetchData() // sonucu asenkron bekler
println(result)
}