Kotlin 中的 Stackless 协程和 stackfull 协程有什么区别(Android)?
What's difference between Stackless and stackfull coroutines in Kotlin(Android)?
读了一些文章后我发现 Stackless
- means that the coroutines don’t have their own stack, so they don’t map on the native thread
*。所以第一点是它与 stackfull
的区别
而在 kotlin 中,如果协程帮助我们管理 asyn 进程。那么这两个不同的协程(Stackless 和 stackfull)是如何工作的。
因为我无法在 kotlin 协程中找到它的 function/syntax/scope 或任何其他东西。因为我无法弄清楚在哪里提到哪个范围或函数是 Stackless 或哪个是 Stackfull。
了解能够在 Kotlin 中使用协程的区别并不重要。
Kotlin 协程是无堆栈的:您只能从其他挂起函数内部调用挂起函数。
将其归结为一个非常简单的定义,堆栈协同程序模型可以让您从任何地方暂停或退出。无堆栈模型仅限于从协程内部挂起,但好处是它的重量更轻。此外,改造现有语言可能更可行。我不知道引擎盖下的 Kotlin 协程实现的任何细节,但我敢打赌,实现堆栈模型并仍然编译为 Java 字节码几乎是不可能的。
读了一些文章后我发现 Stackless
- means that the coroutines don’t have their own stack, so they don’t map on the native thread
*。所以第一点是它与 stackfull
的区别
而在 kotlin 中,如果协程帮助我们管理 asyn 进程。那么这两个不同的协程(Stackless 和 stackfull)是如何工作的。
因为我无法在 kotlin 协程中找到它的 function/syntax/scope 或任何其他东西。因为我无法弄清楚在哪里提到哪个范围或函数是 Stackless 或哪个是 Stackfull。
了解能够在 Kotlin 中使用协程的区别并不重要。
Kotlin 协程是无堆栈的:您只能从其他挂起函数内部调用挂起函数。
将其归结为一个非常简单的定义,堆栈协同程序模型可以让您从任何地方暂停或退出。无堆栈模型仅限于从协程内部挂起,但好处是它的重量更轻。此外,改造现有语言可能更可行。我不知道引擎盖下的 Kotlin 协程实现的任何细节,但我敢打赌,实现堆栈模型并仍然编译为 Java 字节码几乎是不可能的。