/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ // ĠThis Ġfile Ġwas Ġautomatically Ġgenerated Ġfrom Ġcor outines - guide . md Ġby ĠK nit Ġtool . ĠDo Ġnot Ġedit . Ċ package Ġkotlinx . coroutines . guide . compose 0 4 Ċ Ċ import Ġkotlinx . coroutines .* Ċ import Ġkotlin . system .* Ċ Ċ // sample Start Ċ // Ġnote Ġthat Ġwe Ġdon 't Ġhave Ġ` run Blocking ` Ġto Ġthe Ġright Ġof Ġ` main ` Ġin Ġthis Ġexample Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġtime Ġ= Ġmeasure Time Millis Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġwe Ġcan Ġinitiate Ġasync Ġactions Ġoutside Ġof Ġa Ġcoroutine ĊĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġsomething Use ful One Async () ĊĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġsomething Use ful Two Async () ĊĠĠĠĠĠĠĠ Ġ// Ġbut Ġwaiting Ġfor Ġa Ġresult Ġmust Ġinvolve Ġeither Ġsus pending Ġor Ġblocking . ĊĠĠĠĠĠĠĠ Ġ// Ġhere Ġwe Ġuse Ġ` run Blocking Ġ{ Ġ... Ġ}` Ġto Ġblock Ġthe Ġmain Ġthread Ġwhile Ġwaiting Ġfor Ġthe Ġresult ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" The Ġanswer Ġis Ġ${ one . await () Ġ+ Ġtwo . await () }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln (" Completed Ġin Ġ$ time Ġms ") Ċ } Ċ // sample End Ċ Ċ fun Ġsomething Use ful One Async () Ġ= ĠGlobal Scope . async Ġ{ ĊĠĠĠ Ġdo Something Use ful One () Ċ } Ċ Ċ fun Ġsomething Use ful Two Async () Ġ= ĠGlobal Scope . async Ġ{ ĊĠĠĠ Ġdo Something Use ful Two () Ċ } Ċ Ċ suspend Ġfun Ġdo Something Use ful One (): ĠInt Ġ{ ĊĠĠĠ Ġdelay ( 1 0 0 0 L ) Ġ// Ġpret end Ġwe Ġare Ġdoing Ġsomething Ġuseful Ġhere ĊĠĠĠ Ġreturn Ġ 1 3 Ċ } Ċ Ċ suspend Ġfun Ġdo Something Use ful Two (): ĠInt Ġ{ ĊĠĠĠ Ġdelay ( 1 0 0 0 L ) Ġ// Ġpret end Ġwe Ġare Ġdoing Ġsomething Ġuseful Ġhere , Ġtoo ĊĠĠĠ Ġreturn Ġ 2 9 Ċ } Ċ