Golang GMP原理解析
基础知识 线程 vs. 协程 线程Thread是操作系统内核视角下的最小调度单元,其创建、销毁、切换、调度都需要由内核参与; 协程可以理解为用户态线程,是用户程序对对线程概念的二次封装,和线程为多对一关系,在逻辑意义上属于更细粒度的调度单元,其调度过程由用户态闭环完成,无需内核介入 协程可以作为实现用户态线程的基础,但是不是等于是用户态线程。“User-level threads are different from coroutines. Coroutines voluntarily yield to each other; user-level threads can preempt or be preempted.” –MIT 6.828 Operating System ...