同步工具选择
| 工具 | 优先使用场景 |
|---|---|
sync/atomic | 简单计数器、状态标记的无锁读写 |
sync.Mutex | 共享变量、map 或多项状态、复合不变量的互斥访问 |
sync.RWMutex | 共享数据读多写少,需要允许多个读取并发执行 |
sync.WaitGroup | 等待多个并发任务结束 |
sync.Once | 只执行一次的初始化 |
| 工具 | 优先使用场景 |
|---|---|
sync/atomic | 简单计数器、状态标记的无锁读写 |
sync.Mutex | 共享变量、map 或多项状态、复合不变量的互斥访问 |
sync.RWMutex | 共享数据读多写少,需要允许多个读取并发执行 |
sync.WaitGroup | 等待多个并发任务结束 |
sync.Once | 只执行一次的初始化 |