fun asyncOverlay() = async(CommonPool) { // inicia duas operações assíncronas val original = asyncLoadImage("original") val overlay = asyncLoadImage("overlay") // e aplica o overlay para os dois resultados applyOverlay(original.await(), overlay.await()) } // executa a coroutine no contexto de UI launch(UI) { val image = asyncOverlay().await() showImage(image) }