package Ġcom . sh eng si y uan . coroutine . day 0 2 Ċ Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . async Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġkotlin . system . measure Time Millis Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġli uq ing . yang Ċ Ġ* Ġ 2 0 2 0 / 3 / 2 9 . Ċ Ġ* ĠEmail : Ġ 1 2 3 9 6 0 4 8 5 9 @ qq . com Ċ Ġ* Ċ Ġ* Ġ å¼ĤæŃ¥ é£İ æł¼ çļĦ åĩ½æķ° Ċ Ġ*/ Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġelapsed Time Ġ= Ġmeasure Time Millis Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs 1 Ġ= Ġint Value 1 Async () ĊĠĠĠĠĠĠĠ Ġval Ġs 2 Ġ= Ġint Value 2 Async () ĊĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue 1 Ġ= Ġs 1 . await () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue 2 Ġ= Ġs 2 . await () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( value 1 Ġ+ Ġvalue 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln (" total Ġtime : Ġ$ elapsed Time ") Ċ } Ċ Ċ private Ġsuspend Ġfun Ġint Value 1 (): ĠInt Ġ{ ĊĠĠĠ Ġdelay ( 2 0 0 0 ) ĊĠĠĠ Ġreturn Ġ 1 5 Ċ } Ċ Ċ private Ġsuspend Ġfun Ġint Value 2 (): ĠInt Ġ{ ĊĠĠĠ Ġdelay ( 3 0 0 0 ) ĊĠĠĠ Ġreturn Ġ 2 0 Ċ } Ċ Ċ private Ġfun Ġint Value 1 Async () Ġ= ĠGlobal Scope . async Ġ{ ĊĠĠĠ Ġint Value 1 () Ċ } Ċ Ċ private Ġfun Ġint Value 2 Async () Ġ= ĠGlobal Scope . async Ġ{ ĊĠĠĠ Ġint Value 2 () Ċ }