NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 6 - Práce s výjimkami a stav coroutines v Kotlin

V minulé lekci, CoroutineScope a ukončení běhu coroutines v Kotlin, jsme se naučili pracovat s CoroutineScope a už víme, jak ukončit několik coroutine najednou.

V dnešním dílu našeho tutoriálu zaměřeného na Kotlin coroutines se budeme věnovat spolupráci coroutines. Naučíme se, jak zjistit stav coroutines a ukážeme si, jak je správně pozastavit a jak odchytávat výjimky.

Nespolupracující coroutine

Z minulých dílů už víme nejen jak coroutines vytvořit, ale i jak je pozastavit či ukončit. Slouží nám k tomu metoda cancel(). Abychom však správně pozastavili coroutine, musí s námi spolupracovat. Vysvětleme si vše na příkladu:

fun main(): Unit = runBlocking(Dispatchers.Default) {
   val job = launch {
      repeat(3) {
          Thread.sleep(1000)
          println("Ahoj $it")
      }
   }

   delay(2500)
   println("Ukončuji")
   job.cancel()
}

V příkladech budeme používat Dispatchers.Default, abychom mohli spouštět coroutines na více vláknech. Pokud bychom nepoužili Dispatchers.Defualt, tak by coroutines běžely pouze na hlavním vlákně main. Coroutine, která vypisuje do konzole Ahoj, by tak nepustila druhou coroutine k zavolání cancel().

Příklad je poměrně jednoduchý. Vytvoříme coroutine, která třikrát vypíše Ahoj. Předtím než vypíšeme jednotlivé výstupy, počkáme jednu sekundu. Zároveň


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 400 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 19 článkům (19 lekcí) tohoto kurzu.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Neomezený a trvalý přístup k jednotlivým lekcím.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

V Kotlin tutoriálu si ukážeme, jak musí coroutines spolupracovat, abychom je mohli ukončit. Také se naučíme odchytávat výjimky a některé znovu vyhazovat.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Článek pro vás napsal Marek Urbańczyk
Avatar
Autor se věnuje programování v Kotlinu, Javě. Má také zkušenosti s C#.
Aktivity