import Ġcom . github . lu om ing xu . idea . entity . REST Navigation Item Ċ import Ġcom . github . lu om ing xu . idea . util . GetAll Api Ċ import Ġcom . github . lu om ing xu . idea . util . Util Ċ import Ġkotlinx . coroutines .* Ċ import Ġokhttp 3 . internal . wait Ċ import Ġjava . awt . image . Multi Pixel Packed Sample Model Ċ import Ġjava . util . concurrent . Completion Service Ċ import Ġjava . util . concurrent . Count DownLatch Ċ import Ġjava . util . concurrent . Executor Completion Service Ċ import Ġjava . util . concurrent . Executors Ċ import Ġkotlin . concurrent . thread Ċ import Ġkotlin . system . measure Time Millis Ċ Ċ class Ġtest Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġa Ġ= Ġ" 1 2 3 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġtest () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠ Ġthread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġ= Ġ" eq " ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ private Ġsuspend Ġfun Ġint Value 1 (): ĠInt Ġ{ ĊĠĠĠ Ġdelay ( 1 0 0 0 ) ĊĠĠĠ Ġreturn Ġ 1 Ċ } Ċ Ċ private Ġsuspend Ġfun Ġint Value 2 (): ĠInt Ġ{ ĊĠĠĠ Ġdelay ( 2 0 0 0 ) ĊĠĠĠ Ġreturn Ġ 2 Ċ } Ċ Ċ // fun Ġmain () Ġ= Ġrun Blocking Ġ{ Ċ // Ċ // ĠĠĠ Ġval Ġelapsed Time Ġ= Ġmeasure Time Millis Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġvalue 1 Ġ= Ġasync Ġ{ Ġint Value 1 () Ġ} Ċ // ĠĠĠĠĠĠĠ Ġval Ġvalue 2 Ġ= async Ġ{ Ġint Value 2 ()} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġprintln (" the Ġresult Ġis Ġ${ value 1 . await () Ġ+ Ġvalue 2 . await () }") Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġprintln (" the Ġelapsed Time Ġis Ġ$ elapsed Time ") Ċ //} Ċ Ċ // size Ġ= Ġint ( math . ceil ( all _ data .__ len __() Ġ/ Ġfloat ( cpu _ use _ number ))) Ċ // map _ temp : ĠMutable Mapping [ str , ĠAV ] Ġ= Ġ{} Ċ // Ċ // res : ĠList [ Apply Result ] Ġ= Ġlist () Ċ // for Ġkey , Ġvalue Ġin Ġall _ data . items (): Ċ // map _ temp [ key ] Ġ= Ġvalue Ċ // if Ġmap _ temp .__ len __() Ġ% Ġsize Ġ== Ġ 0 : Ċ // res . append ( pool . apply _ async ( func Ġ= Ġanalyze , Ġargs Ġ= Ġ( q , Ġmap _ temp , ))) Ċ // map _ temp Ġ= Ġ{} Ċ // res . append ( pool . apply _ async ( func Ġ= Ġanalyze , Ġargs Ġ= Ġ( q , Ġmap _ temp , ))) Ċ // pool . close () Ċ // pool . join () Ċ Ċ private Ġfun Ġtest ( l : ĠMutable List < Int >): ĠMutable List < Int > Ġ{ ĊĠĠĠ Ġl . forEach Ġ{ Ġprint ("$ it , ") Ġ} ĊĠĠĠ Ġprintln (" size : Ġ${ l . size }") ĊĠĠĠ Ġl . add ( 2 ) ĊĠĠĠ Ġreturn Ġl Ċ } Ċ Ċ class ĠCL AZ Z Ġ{ ĊĠĠĠ Ġcompanion Ġobject ĊĊĠĠĠ Ġvar Ġnum : ĠList < Int > Ġ= ĠArrayList () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġnum Ġ= ĠTEST . test 1 () ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ object ĠTEST Ġ{ ĊĠĠĠ Ġfun Ġtest 1 (): ĠList < Int > Ġ= Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlist : ĠMutable List < Int > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġvar Ġl : ĠMutable List < String > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġsize : ĠInt Ġ= Ġlist . size Ġ/ ĠUtil . CPU ĊĠĠĠĠĠĠĠ Ġprintln ("${ Util . CPU }, Ġ$ size ") ĊĊĊĠĠĠĠĠĠĠ Ġ// åĪĽå»º èĩªå®ļä¹ī çº¿ç¨ĭ æ±ł ĊĠĠĠĠĠĠĠ Ġval Ġpool Ġ= ĠExec utors . new Fixed ThreadPool ( 8 ). as Coroutine Dispatcher () ĊĠĠĠĠĠĠĠ Ġvar Ġtemp : ĠMutable List < Int > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġvar Ġres : ĠMutable List < Int > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp . add ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( temp . size Ġ% Ġsize Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt : ĠDeferred < List < Int >> Ġ= Ġasync ( pool ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Thread . currentThread (). name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest ( temp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . addAll ( t . await ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. join () ĊĠĠĠĠĠĠĠ Ġpool . close () ĊĠĠĠĠĠĠĠ Ġprintln (" åŃĲ åįı ç¨ĭ å®Į ") ĊĠĠĠĠĠĠĠ Ġres . forEach Ġ{ Ġprintln ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġprintln ( res . size ) ĊĠĠĠĠĠĠĠ ĠArrayList () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĊĠĠĠ Ġval Ġexecutor Ġ= ĠExec utors . new Fixed ThreadPool ( 5 ) ĊĠĠĠ Ġval Ġcs : ĠExecutor Completion Service < Mutable List < Int >> Ġ= ĠExecutor Completion Service ( executor ) ĊĠĠĠ Ġcs . submit { ĊĠĠĠĠĠĠĠ Ġtest ( ArrayList ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcs . submit { ĊĠĠĠĠĠĠĠ Ġtest ( ArrayList ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" i : Ġ$ i ") ĊĠĠĠĠĠĠĠ Ġprintln ( cs . take (). get ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" end ") Ċ // ĠĠĠ Ġprintln ( cs . take (). get ()) ĊĠĠĠ Ġexecutor . shutdown () ĊĊ Ċ // ĠĠ Ġval Ġt Ġ= ĠCL AZ Z () Ċ // ĠĠĠ Ġprintln ( t . num ) Ċ // ĠĠĠ ĠGetAll Api . getProject All Api Multi Thread ( null ) Ċ } Ċ