Kotlin 流程执行问题

Posted

技术标签:

【中文标题】Kotlin 流程执行问题【英文标题】:Kotlin flow execution issue 【发布时间】:2021-06-27 10:50:51 【问题描述】:

我正在研究 Kotlin,我有一个关于该语言的流程执行的问题。我把这段代码写到了 Kotlin 操场上:

fun main() 
   println("Hello,") 
   Thread.sleep(5000L) 
   print("World!")

我预计程序会打印“Hello”,然后是“World!” 5 秒后(例如它在 Java 中的工作方式)。但是,它会打印“Hello, World!” 5秒后,之前什么都没有。我错过了什么吗?我也尝试在第一次打印后插入System.out.flush(),但没有成功。

谢谢

【问题讨论】:

【参考方案1】:

https://try.kotlinlang.org 和https://play.kotlinlang.org 只在整个程序完成后显示输出。这不应该发生在“实际的”Kotlin 编译器/JVM 运行时(例如在 IntelliJ 中)。

【讨论】:

OP 说他们正在使用Kotlin playground。这是Try Kotlin 的新版本。但我怀疑这个答案是正确的,因为操场做同样的事情。

以上是关于Kotlin 流程执行问题的主要内容,如果未能解决你的问题,请参考以下文章

kotlin协程硬核解读(4. 协程的创建和启动流程分析)

kotlin协程硬核解读(4. 协程的创建和启动流程分析)

kotlin协程硬核解读(4. 协程的创建和启动流程分析)

kotlin协程硬核解读(4. 协程的创建和启动流程分析)

从 iOS 收听 Kotlin 协程流程

Kotlin 结合了 2 个以上的流程