关于go中的context

来源:12-5 生产端代码

sadcloud

2020-04-30

老师,您能讲一下就是golang中的context.Context吗,到底应该怎么理解呢,我看项目很多函数第一个参数就是*context ,百度了好多都翻译成上下文,但是我觉得都没有解释清楚,它和进程有什么关系吗,谢谢老师解惑!

写回答

1回答

Cap

2020-05-01

要理解 context 还要理解一个概念 Goroutine ,context可以把状态信息保存下来在多个Goroutine 运行的时候读取,这就是你看到的项目函数里面为什么会要传这个参数,传入了这个参数就可以在业务逻辑里面判断当前状态获取数据。

比如在网络请求中,当接收到一个网络请求Request,处理Request时,我们可能需要开启不同的Goroutine来获取数据与逻辑处理,即一个请求Request,会在多个Goroutine中处理。而这些Goroutine可能需要共享Request的一些信息。


0
0

全流程开发 GO实战电商网站高并发秒杀系统

运用架构设计与系统化思维,从容应对不同流量等级的“秒杀”场景

1462 学习 · 443 问题

查看课程