sync Go · 常用包
Go 标准库里的并发同步包:提供互斥锁 Mutex、等待组 WaitGroup、Once 等工具,防止多个 goroutine 抢资源打架(原子操作在子包 sync/atomic,要单独导入)。
怎么用
import "sync"; sync.Mutex/WaitGroup/Once 等(原子操作需 import "sync/atomic")
小例子
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
wg.Add(1)
go func() {
defer wg.Done()
fmt.Println("done")
}()
wg.Wait()
}
运行结果
输出 done
提醒:Mutex 要成对 Lock/Unlock,通常配合 defer 使用
在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Go全部词条