协程是简化状态机设计的一种工具。协程编程表面上看起来与多线程编程很相似。协程与多线程有着本质的区别: 协程不会抢占,任务之间是协作式的,多线程的任务之间往往是抢占式的。协程没有上下文切换,协程只有函数的进入和退出,没有多线程的上下文切换。协程没有调度器,任务间的协调完全由应用来决定。 协程也是实现多任务的一种形式。