Sobes.tech
Junior — Middle

Czy podczas wykonywania można mówić o hierarchii między korutynami?

sobes.tech AI

Odpowiedź od AI

Tak, w Kotlinie korutyny mogą mieć strukturę hierarchiczną. Gdy uruchamiasz korutynę w kontekście innej korutyny (np. używając launch wewnątrz innej korutyny), tworzy się relacja rodzic-dziecko. Jeśli korutyna rodzic zostanie anulowana, wszystkie jej korutyny dzieci są automatycznie anulowane. Pozwala to zarządzać cyklem życia grup korutyn i zapobiegać wyciekom zasobów.

Przykład:

val parentJob = CoroutineScope(Dispatchers.Default).launch {
    val childJob = launch {
        // praca korutyny dziecka
    }
}

// Przy anulowaniu parentJob, childJob również zostanie automatycznie anulowane
parentJob.cancel()