sync包工具
- Mutex:同一时间只有一个goroutine持有锁,其它申请该锁的goroutine会被阻塞。
- RWMutex:允许多个协程同时读取共享数据,但写入时需要独占锁。
- WaitGroup:等待一组协程完成后再继续执行。预设数量的goroutine都执行完成后,所有预设的goroutine才继续向下执行。
- Map:并发安全的map,无需手动加锁即可安全地进行读写操作,而且性能好。
- Once:确保某个函数在整个程序运行期间仅执行一次。(单例)
- Cond:让协程在特定条件下等待或通知其他协程。
- Pool:对象池,但对象不会自动回收。