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")
}