Sobes.tech
Junior — Middle

Czym są korutyny i jaką koncepcję realizują w programowaniu?

sobes.tech AI

Odpowiedź od AI

Korutyny to lekkie wątki lub funkcje, które mogą wstrzymywać swoje wykonanie i wznawiać je później, co pozwala na pisanie kodu asynchronicznego i nieblokującego w prostszy i bardziej zrozumiały sposób.

Implementują koncepcję kooperatywnego wielozadaniowości, gdzie kontrola nad korutynami jest przekazywana jawnie, a nie wymuszona przez system operacyjny. Pozwala to na efektywne wykorzystanie zasobów i upraszcza pracę z asynchronicznością.

Przykład w Kotlin (Android):

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000L)
        println("Korutyna zakończona")
    }
    println("Program uruchomiony")
}

Tutaj launch uruchamia korutynę, która zatrzymuje się na 1 sekundę bez blokowania głównego wątku.