最近发布的文章
暂无
最近分享的资源
暂无
最近发布的项目
暂无
最近的评论
-
评论了主题 关于time.Ticker的一个问题
-
评论了主题 全套Go语言开发及区块链视频及资料-应有尽有895760990@qq.com 谢谢大佬
-
#4楼 @polaris 代码大致如下,是公司一个不成熟的框架,问题已经改掉了,现在想对这个原理探究一下 ``` // 主逻辑 go Do() <- a.close // a是一个channel定义在其他位置,发现异常就会close掉 // 此时Do内可能才执行到DoSomething_1(), 所以会导致Wait以后执行Add,这个时候就会panic wg.Wait() // Do函数定义如下 func Do() { for { select { case <- a.close: return default: DoSomething_0() go func() { DoSomething_1() wg.Add(1) go func() { defer wg.Done() DoSomething_2() }() DoSomething_3() }() } } } ```
-
#1楼 @legendlzy 不好意思,恢复没有对准,你看看我在2L贴的图,是waitgroup里面的源码