Kotlin 协程将如何使用 Project Loom?
How Kotlin coroutines will use Project Loom?
目前,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)。
其实还有更笼统的问题。我们真的需要 Kotlin 协程吗,Project Loom 什么时候发布?
作为 Roman Elizarov outlined in his talk 将与 Project Loom 互操作。
至于协程的需求,你必须意识到 Kotlin 是一种多平台语言,这意味着协程必须在所有平台上工作,包括浏览器和本机代码。
即使他们将在 JVM 上使用 Project Loom,API 也必须保持一致,因为相同的代码将被编译到所有平台。
目前,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)。
其实还有更笼统的问题。我们真的需要 Kotlin 协程吗,Project Loom 什么时候发布?
作为 Roman Elizarov outlined in his talk 将与 Project Loom 互操作。
至于协程的需求,你必须意识到 Kotlin 是一种多平台语言,这意味着协程必须在所有平台上工作,包括浏览器和本机代码。
即使他们将在 JVM 上使用 Project Loom,API 也必须保持一致,因为相同的代码将被编译到所有平台。