kotlin 协程多个异步任务并测量任务时间

tzxcd3kk  于 2023-11-21  发布在  Kotlin
关注(0)|答案(1)|浏览(126)

我们如何在Kotlin协同程序中设计一个结构来并行运行多个异步任务,收集它们的结果,并测量每个任务完成的时间?
只要一个小的代码例子就足够了。有什么想法吗?

cyvaqqii

cyvaqqii1#

我希望这对你有帮助。

suspend fun performAsyncOperation(id: Int): String {
    delay(1000)
    return "Result $id"
}

fun main() = runBlocking {
    val ids = 1..10

    val deferredResults = ids.map { id ->
        async {
            val elapsedTime = measureTimeMillis {
                val result = performAsyncOperation(id)
                println("Task $id completed. Result: $result")
            }
            println("Task $id took $elapsedTime ms")
        }
    }

    deferredResults.awaitAll()

    println("All tasks completed.")
}

字符串

相关问题