Sobes.tech
Junior — Middle

Какви са корутините и каква концепция реализират в програмирането?

sobes.tech AI

Отговор от AI

Корутините са леки нишки или функции, които могат да спрат изпълнението си и да го възобновят по-късно, което позволява по-просто и разбираемо писане на асинхронен и неблокиращ код.

Те реализират концепцията за кооперативна многозадачност, при която управлението между корутините се предава явно, а не принудително от операционната система. Това позволява ефективно използване на ресурсите и улеснява работата с асинхронността.

Пример на Kotlin (Android):

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000L)
        println("Корутината е завършена")
    }
    println("Програмата е стартирана")
}

Тук launch стартира корутина, която се спира за 1 секунда без да блокира основния поток.