package Ġcom . l uk as le ch ner . coroutine use case son android . playground . channels Ċ Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . channels . consume Each Ċ import Ġkotlinx . coroutines . channels . produce Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlin . random . Random ĊĊ Ċ fun Ġmain () Ġ{ ĊĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠ Ġproduce Random (). consume Each Ġ{ Ġprintln ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġprintln (" All Ġvalues Ġconsumed ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" main () Ġfinished ") ĊĠĠĠ ĠThread . sleep ( 1 0 0 0 ) Ċ } Ċ Ċ // Ġwhereas Ġflow () Ġis Ġa Ġtop Ġlevel Ġfunction Ġ=> Ġproduce Ġis Ġdefined Ġon ĠCor outine Scope Ċ private Ġfun ĠCor outine Scope . produce Random () Ġ= Ġproduce Ġ{ ĊĠĠĠ Ġrepeat ( 5 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġsend ( Random . nextInt ()) ĊĠĠĠ Ġ} Ċ }