12. diel - Hierarchie coroutines a typ SupervisorJob v Kotline

V minulej lekcii, Rozhranie CompletableJob a zistenie stavu coroutines v Kotlin , som si ukázali, ako pre prácu s coroutines využiť rozhranie CompletableJob a ďalšie atribúty inštancie typu Job.

V dnešnom tutoriále si ukážeme, ako vytvoriť rodičovskú coroutine (parent coroutine) a ako jej priradiť potomkov (child coroutines). Zameriame sa tiež na propagovanie výnimiek v tejto hierarchii objektov typu Job a predstavíme si aj nový typ SupervisorJob.

Hierarchia coroutines

Pomocou rozhrania Job môžeme tvoriť hierarchickú štruktúru inštancií typu Job. Každá taká inštancia môžeme mať svojich potomkov. Vďaka tomu môžeme napríklad efektívnejšie spracovať informácie z nejakého zdroja na internete. V takom prípade by sme vytvorili jeden completableJob na odoslanie požiadavky na server a druhý completableJob na spracovanie dát, ktoré nám zašle server. Potom by sme vytvorili tretí completableJob, ktorý by reprezentoval vykonanie oboch predošlých akcií.

Tvorba podriadených coroutines

Ukážme si teda, ako takú hierarchiu coroutines vytvoriť:

fun main() {
   val parentJob = Job()

   val requestJob = Job(parentJob)
   val handleJob = Job(parentJob)

   parentJob.complete()
   requestJob.complete()
   handleJob.complete()


   println(parentJob.isCompleted)
}

V uvedenom príklade sme


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiovej sekcie.

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Prístup k jednotlivým lekciám podľa spôsobu obstarania.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V Kotline tutoriálu vytvoríme hierarchiu coroutines a ukážeme si, ako sa propagujú výnimky medzi potomkami a rodičmi vrátane využitia typu SupervisorJob.
Článok pre vás napísal Marek Urbańczyk
Avatar
Autor se věnuje programování v Kotlinu, Javě. Má také zkušenosti s C#.
Aktivity