Junior — Middle
Какви са корутините и каква концепция реализират в програмирането?
sobes.tech AI
Отговор от AI
Корутините са леки нишки или функции, които могат да спрат изпълнението си и да го възобновят по-късно, което позволява по-просто и разбираемо писане на асинхронен и неблокиращ код.
Те реализират концепцията за кооперативна многозадачност, при която управлението между корутините се предава явно, а не принудително от операционната система. Това позволява ефективно използване на ресурсите и улеснява работата с асинхронността.
Пример на Kotlin (Android):
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000L)
println("Корутината е завършена")
}
println("Програмата е стартирана")
}
Тук launch стартира корутина, която се спира за 1 секунда без да блокира основния поток.