Golang Context 探究
) (Context, CancelFunc) { return WithDeadline(parent, time.Now().Add(timeout)) } func WithDeadline(parent Context, d time.Time) (Context, CancelFunc) { // 如果父节点 context 的 deadline 早于指定时间。直接构建一个可取消的 context。 // 原因是一旦父节点超时,自动调用 cancel 函数,子节点也会随之取消。 // 所以不用单独处理子节点的计时器时间到了之后,自动调用 cancel 函数 if cur, ok := parent.Deadline(); ok && cur.Before(d) { // The current...阅读全文