Sobes.tech
Junior — Middle

Czy możesz wyjaśnić mechanizm działania korutyn i jakie są ich zalety w programowaniu asynchronicznym?

sobes.tech AI

Odpowiedź od AI

Korutyny to specjalne funkcje, które mogą wstrzymywać swoje wykonanie i wznawiać je później, co pozwala na pisanie bardziej czytelnego i wydajnego kodu asynchronicznego.

W Android (Kotlin) korutyny umożliwiają wykonywanie długotrwałych operacji (np. zapytań sieciowych lub pracy z bazą danych) bez blokowania głównego wątku interfejsu użytkownika.

Zalety korutyn:

  • Łatwość pisania kodu asynchronicznego przypominającego kod synchroniczny.
  • Łatwa kontrola nad wątkami i anulowaniem zadań.
  • Lepsza wydajność dzięki mniejszej liczbie tworzonych wątków.

Przykład korutyny w Kotlin:

import kotlinx.coroutines.*

fun main() = runBlocking {
    launch {
        delay(1000L)
        println("Zadanie zakończone")
    }
    println("Uruchomienie korutyny")
}