Sobes.tech
Junior — Middle

Čo sú korutiny a aký koncept implementujú v programovaní?

sobes.tech AI

Odpoveď od AI

Korutiny sú ľahké vlákna alebo funkcie, ktoré môžu pozastaviť svoje vykonávanie a neskôr ho pokračovať, čo umožňuje jednoduchšie a prehľadnejšie písanie asynchrónneho a neblokujúceho kódu.

Implementujú koncept kooperatívneho multitaskingu, kde je riadenie medzi korutinami explicitne odovzdávané a nie vynucované operačným systémom. To umožňuje efektívne využívanie zdrojov a zjednodušuje prácu s asynchrónnosťou.

Príklad v Kotlin (Android):

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000L)
        println("Korutina ukončená")
    }
    println("Program spustený")
}

Tu launch spúšťa korutinu, ktorá sa pozastaví na 1 sekundu bez blokovania hlavného vlákna.