线程:在多核CPU上可并行,抢占式调度,存在线程同步问题,需要避免竞态条件协程:可并发,用户态的轻量级线程,在单线程中运行,通过协作式调度实现非抢占式并发,通过挂起 (yield) 和 恢复 (resume) 切换执行 资源占用协程栈空间通常很小,由程序控制 并发能力线程适合CPU密集型,协程由于在单线程中运行,更适合I/O密集型