- 协程是用户模式下的轻量级线程,操作系统内核对协程一无所知
- 协程的调度完全有应用程序来控制,操作系统不管这部分的调度
- 一个线程可以包含一个或多个协程
- 协程拥有自己的寄存器上下文和栈,协程调度切换时,将寄存器上下纹和栈保存起来,在切换回来时恢复先前保运的寄存上下文和栈
- 协程能保留上一次调用时的状态,看到这里各种生成器(生成器是被阉割的协程)的概念浮现出来了。。
- Windows下的实现叫纤程
超线程
这个也是一个跟上面的概念不是一类事的概念,超线程是Intel CPU设计上的一种技术。
一个CPU物理核在同一时间只能执行一个线程,而线程的切换会消耗掉上万的始终周期,效率还不够高。超线程就是在实现同一个CPU物理核在同一时间能几乎执行两个线程的技术。这就是我们在Intel CPU的机子上的任务管理器中经常看到double的CPU物理核心的缘由。