爱折腾的 WaitGroup

鸟窝 at 
WaitGroup 是 Go 并发编程中经常使用的做任务编排的一个一个并发原语。看起来它只有几个简单的方法,使用起来比较简单。实际上,WaitGroup 的内部实现也陆陆续续改变了好几次,主要是针对它的字段的原子操作不断的做优化。WaitGroup 原始的实现最早的 WaitGroup 的实现如下:1234567891011121314151617181920212223type WaitGroup struct { m Mutex counter int32 waiters int32 sema *uint32}func (wg *WaitGroup) Add(delta ……