深入理解Golang之context
context链可能是这样的:当前cancelCtx的父节点context并不是一个可取消的context,也就没法记录children。timerCtxtimerCtx是一种基于cancelCtx的context类型,从字面上就能看出,这是一种可以定时取消的context。type timerCtx struct { cancelCtx timer *time.Timer // Under cancelCtx.mu. deadline time.Time } func (c *timerCtx) Deadline() (deadline time.Time, ok bool) { return c.deadline, true } func (c *timerCtx) cancel...阅读全文