golang 源码学习之WaitGroup
数据结构 //sync/waitgroup.go type WaitGroup struct { noCopy noCopy // 不可复制,只能指针传递 // 对齐的8byte存储状态, 另外4byte存储信号。状态的高32位counter计数器,低32位waiter计数器 // counter未执行完的goroutine。waiter正在等待的goroutine。那么WaitGroup可以放多少goroutine呢?2^32 state1 [3]uint32 } Add //sync/waitgroup.go func (wg *WaitGroup) Add(delta int) { // statep状态(包含counter和waiter计数器),semap信号 statep, sem...阅读全文