• syuan
    2020-11-07
    老师,您好。 var ( background = new(emptyCtx) todo = new(emptyCtx) ) 在实际使用中,这两个变量在什么时候执行,在引入包的时候就执行了吗? 还是在执行Background() ,TODO() 这两个函数调用的时候执行? 在一个main函数中多次调用Background() ,TODO(),background,todo变量始终是指向同一个值吗?

    作者回复: 引入的时候已经初始化了。同一个。

    共 2 条评论
    1
  • 江湖夜雨十年灯
    2022-12-09 来自北京
    感觉context的例子太少了老师,实际中context用的场景其实最多对复杂

    作者回复: 后续有机会我再补充些例子

    
    
  • 锋
    2020-11-06
    老师好。 【记住,不是只有你想中途放弃,才去调用 cancel,只要你的任务正常完成了,就需要调用 cancel,这样,这个 Context 才能释放它的资源(通知它的 children 处理 cancel,从它的 parent 中把自己移除,甚至释放相关的 goroutine】 上面这一段中任务正常完成 parent来cancel不太理解,正常父主动cancel基本都属于中断操作。但是老师讲到要正常退出的时候来cancel一下,既然是正常结束,那么父应该知道子结束了才去cancel,那父子之间不是还要单独建立一个channel来进行通讯?没有get到老师的点,麻烦老师能不能举个例子

    作者回复: 这主要是context设计的问题,这个cancel你必须调用。即使子goroutine正常退出后,父goroutine也需要做一些额外的动作,如文中所示。这种情况不是'cancel'子goroutine,而是'free resources'. 所以这个cancel的叫法不准确,容易误导人,但go开发者也没想出更合适的名字

    共 2 条评论
    
  • 那时刻
    2020-11-05
    请问老师,文中提到的 exported key 的静态类型和保守的 unexported 的类型,它们各自指的是什么类型呢?

    作者回复: exported是go语言的说法,首字母大写,其它package可见。 “保守的.....”?

    共 2 条评论
    
  • 楼梯口倒立
    2021-09-17
    这个例子讲的一言难尽,还不如百度出来的
    共 2 条评论
    27
  • 虫子樱桃
    2020-11-04
    Using Context Package in GO (Golang) – Complete Guide https://golangbyexample.com/using-context-in-golang-complete-guide/
    共 2 条评论
    17
  • Remember九离
    2020-11-04
    思考题简单写了下: ```go package main import ( "context" "fmt" "time" ) func main() { parent := context.Background() ctx, cancel := context.WithCancel(parent) child := context.WithValue(ctx, "name", "wuqq") go func() { for { select { case <-child.Done(): fmt.Println("it's over") return default: res := child.Value("name") fmt.Println("name:", res) time.Sleep(1 * time.Second) } } }() go func() { time.Sleep(3 * time.Second) cancel() }() time.Sleep(5 * time.Second) } ``` 源码在:https://github.com/wuqinqiang/Go_Concurrency
    共 1 条评论
    10
  • 愤怒的显卡
    2020-11-11
    可以写几个应用的实例
    
    9
  • 虫子樱桃
    2020-11-04
    context其实上几个例子更好。哈哈。大家可以参考 go by Example的例子 http://play.golang.org/p/0_bu1o8rIBO
    
    9
  • Panda
    2021-01-27
    Context 就像 糖葫芦中的 竹签子
    共 1 条评论
    8