可以字面意思可以理解为上下文,比较熟悉的有进程/线程上线文,关于golang中的上下文,一句话概括就是: goroutine的相关环境快照,其中包含函数调用以及涉及的相关的变量值....通过Context可以区分不同的goroutine请求,因为在golang Severs中,每个请求都是在单个goroutine中完成的....注:关于goroutine的理解可以移步这里.
2 为什么使用context
由于在golang severs中,每个request都是在单个goroutine中完成,并且在单个goroutine(不妨称之为...timeoutHandler()
fmt.Println("end.")
}
复制代码
输出结果:
4 context是一个优雅的设计吗?...确实,通过引入Context包,一个request范围内所有goroutine运行时的取消可以得到有R效的控制.但是这种解决方式却不够优雅.
4.1 context 像病毒一样扩散
一旦代码中某处用到了