golang学习笔记之—WaitGroup
自己毕业工作过后,由于时间有限,一度中断了写学习笔记。
最近心血来潮,逛CSDN发现博客已经改版了,添加了对Markdown语法的支持。加之最近在学习google的go语言,因此想借写博客的机会学习Markdown语言,同时梳理所学的go语言知识。
本文主要讲解go标准库sync中的WaitGroup的用法。
WaitGroup的作用
WaitGroup用于goroutine的同步,当需要阻塞当前执行线程,等待一组goroutine执行完毕之后再继续执行当前线程时,就需要用到WaitGroup。
WaitGroup的定义
type WaitGroup struct {
state1 [12]byte
sema uint32
}
WaitGroup的定义比较简单,由一个12字节额 state1 字段和一个32位的 sema 组成。
WaitGroup的API
1.Add(delta int)<