Tag: 异步等待

协程只是完成句柄的语法糖?

协程只是完成块周围的语法糖,完成块将在引擎盖下创建? 或者,协程的概念更为复杂和广泛,只是编译器把戏又称为语法糖

在Kotlin中,我如何传递一个参数,使异步范围能够节约呢?

我有下面的代码片断使用Kotlin协程 fun main(args:Array<String>){ println("test") var seed = 3 val deferredResult = async(CommonPool){ seed * 2 } seed = 4 runBlocking(CommonPool) { val result = deferredResult.await() println("Result is $result") } println("end") } 我期待它的行为像JavaScript,并在定义协程时保存seed变量(使用副本)的价值。 但不是打印Result is 6 ,它打印Result is 8 。 我能做些什么来确保在异步范围(而不是4)内使用seed变量(即3)的原始值?