线程加锁
锁
Go 语言不仅仅提供基于 CSP 的通讯模型,也支持基于共享内存的多线程数据访问
Sync 包提供了锁的基本原语
sync.Mutex 互斥锁
Lock()加锁,Unlock 解锁sync.RWMutex 读写分离锁
不限制并发读,只限制并发写和并发读写sync.WaitGroup
等待一组 goroutine 返回sync.Once
保证某段代码只执行一次sync.Cond
让一组 goroutine 在满足特定条件时被唤醒
Mutex 示例
Kubernetes 中的 informer factory