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.