0

目前,Kotlin 协程是在没有 JVM 帮助的情况下实现的。它不使用绿色(虚拟)线程之类的东西。您可以在此处阅读有关协程实现的信息 - https://github.com/Kotlin/KEEP/blob/master/proposals/coroutines.md#implementation-details

在不久的将来(比如 1-2 年),Loom 项目(在 JVM 中实现绿色线程)将会发布。您可以在此处阅读有关它的详细信息 - http://cr.openjdk.java.net/~rpressler/loom/loom/sol1_part1.html

那么,Kotlin 会使用这些虚拟线程作为编译后端吗?或者有一些原因,为什么不可能?我谈论了需要版本的 JVM 目标(很明显,我们需要自己的 android 实现)。

实际上,还有一个更普遍的问题。当 Project Loom 发布时,我们真的需要 Kotlin 协程吗?

4

1 回答 1

4

正如 Roman Elizarov在他的演讲中概述的那样,将与 Project Loom进行互操作。

至于对协程的需求,你必须意识到 Kotlin 是一种多平台语言,这意味着协程必须在所有平台上工作,包括浏览器和原生代码。

即使他们将在 JVM 上使用 Project Loom,API 也必须保持一致,因为相同的代码将被编译到所有平台。

于 2020-10-13T09:40:26.430 回答