golang context包
文章目录
本文主要介绍golang context包的使用。
context包 可以手动或者超时取消进行中的协程,传递上下文数据。
统一使用context包可以实现全链路的超时控制,以及确保信息的安全传递。
取消
|
|
取消主要分为手动取消和超时取消。
手动取消一般是出错的时候主动调用cancel。
超时取消是未能在指定的时间期限内完成而被取消。
cancel即使不主动调用,也不影响资源的最终释放,但主动调用可加快释放,避免等待时间内的资源浪费。
上下文数据传递
|
|
context中的上下文数据并不是全局的,它只查询本节点以及父节点们的数据,不能查询兄弟节点的数据。