gpt4 book ai didi

kotlin 协程 : possible without standard library?

转载 作者:行者123 更新时间:2023-12-01 23:41:51 26 4
gpt4 key购买 nike

我的问题相当理论化。我对 kotlin 还很陌生(只通过了教程,没有编写任何实际代码)。

通读语言引用后,我发现自己对“挂起”是一个关键字这一事实感到困惑,但我在关键字列表中找不到类似“启动”的内容。这让我认为存在一些不对称——“挂起”是编译器功能,而“启动”是库函数。我的理解正确吗?如果是这样 - 将两者都实现为库功能或同时实现为编译器功能不是更好吗?

我一直认为您始终可以使用可用的语言功能编写自己的标准库,但我仍然不知道这是否真的适用于这种情况。

TL;DR:我可以使用纯 kotlin 启动协程,而不导入任何库(无论那有多难看)吗?

最佳答案

挂起标记向函数签名添加了一个隐藏的延续参数,并完全改变了实现字节码。挂起点不会归结为辅助函数调用,它们将线性程序代码转换为状态机,状态保存在延续对象中。生成的字节码甚至不能表示为 Java 程序代码。

与此相反,launch 只是基于挂起/恢复原语构建的常规库代码。

关于kotlin 协程 : possible without standard library?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58237116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com