type Context interface {
    Deadline() (deadline time.Time, ok bool)
    Done() <-chan struct{}
    Err() error
    Value(key interface{}) interface{}
}

ctx, cancel := context.WithTimeout(context.Background(), time.Second*3)
<-ctx.Done()

Deadline 返回一个time.Time,表示当前Context应该结束的时间,ok则表示有结束时间
Done 当Context被取消或者超时时候返回的一个close的channel,告诉给context相关的函数要停止当前工作然后返回了。
Err context被取消的原因
Value context实现共享数据存储的地方,是协程安全的

标签: none

添加新评论