摘要:
1、反对“全局变量” 问题1 : context可以理解为是一个“全局变量”吗? 在软件设计的工程中,对全局变量基本持否定态度: 1、代码变得耦合; 2、暴露了多余的信息; 3、全局变量在多线程环境下使用锁,浪费CPU资源; 但是它也有好的方面:提升了某些变量的作用域,保证了这些数据的生命周期。 为 阅读全文
摘要:
1、利用channel关闭,实现Context.Done() 这个Context.Done()的具体实现,需要看源码: func (c *cancelCtx) Done() <-chan struct{} { c.mu.Lock() if c.done == nil { c.done = make( 阅读全文