Kotlin 协程将如何使用 Project Loom?

Max*_*Max 0 java jvm green-threads kotlin kotlin-coroutines

目前,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 协程吗?

Ada*_*old 6

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

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

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