user
01/14/2018, 1:25 PMfun main(args: Array<String>) = runBlocking<Unit> {
val parent = Job()
val list = List(100) { i ->
launch(parent = parent) {
delay(i.toLong(), TimeUnit.SECONDS)
println("Hello $i")
}.also {
it.invokeOnCompletion { parent.cancel() }
}
}
list.map { it.join() }
}