Go 语言并发编程系列教程(十四)—— 通过 context 包提供的函数实现多协程之间的协作

上篇教程学院君介绍了如何通过 sync.WaitGroup 类型优化通道对多协程协调的处理,但是现在有一个问题,就是我们在启动子协程之前都已经明确知道子协程的总量,如果不知道的话,该怎么实现呢? 一种解决方案是通过 sync.WaitGroup 分批启动子协程,具体实现代码如下: package main import ( "fmt" "sync" ) func ad...

《程序员修炼之道:从小工到专家》第一章:注重实效的哲学(1)

本系列为学员君两年前阅读《程序员修炼之道:从小工到专家》的读书笔记,分享给大家。 一、“我的源码让猫吃了” 在所有的弱点中,最大的弱点就是害怕暴露弱点。 负责 提供各种选择和解决方案,而不是找各种蹩脚的借口。 在做一件事情之前,先做好风险评估,哪些是在自己控制之下,哪些是自己不必要承担的风险,不要害怕或羞于承认自己需要帮助,不要害怕提要求或者额外的资源,并且尽可能对各种...