Sobes.tech
Junior — Middle
88

Что такое корутины и какую концепцию они реализуют в программировании?

Companies where asked
WildberriesWildberries

Answer from AI

sobes.tech AI

Корутины — это легковесные потоки или функции, которые могут приостанавливать своё выполнение и возобновлять его позже, позволяя писать асинхронный и неблокирующий код более простым и понятным способом.

Они реализуют концепцию кооперативной многозадачности, где управление между корутинами передаётся явно, а не принудительно операционной системой. Это позволяет эффективно использовать ресурсы и упрощает работу с асинхронностью.

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

import kotlinx.coroutines.*

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

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