探索Golang协程实现——从v1.0开始
问题引入 提起协程,你可能会说,不就go func吗,我分分钟就能创建上万个协程。可是协程到底是什么呢?都说协程是用户态线程,这里的用户态是什么意思?都说协程比线程更轻量,协程轻量在哪里呢? 本文主要为读者介绍这些内容:Golang v1.0协程并发模型——MG模型,协程创建,协程切换,协程退出,以及g0协程,重在理解协程栈切换逻辑;为了理解协程栈,还需要简单了解下虚拟内存,函数栈帧以及简单的汇编语言;Golang v1.0协程调度逻辑;defer,panic以及recover底层实现原理。...阅读全文