代码之家  ›  专栏  ›  技术社区  ›  Abhay P

在Kotlin中,一个线程一次只能运行一个协程?

  •  0
  • Abhay P  · 技术社区  · 4 年前

    我对Kotlin协程和线程的理解是:

    是这样吗?

    0 回复  |  直到 4 年前
        1
  •  1
  •   hotkey    4 年前

    是的,这是正确的。

    协程可以看作是一个指令序列,线程一直运行到遇到一个挂起点,在这个挂起点处协程暂停执行(保存调用堆栈和局部变量以便稍后恢复)并产生控制,在这种情况下,它不再在它运行的线程上运行。

    您可以将线程视为比协程更低级别(OS级或JVM级)的原语。应用程序中的所有代码都在某个线程中执行,一次在每个线程中执行一个指令序列,从这个意义上说,协程是不可排除的。