DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Golang

Go Mutex 与 RWMutex:互斥锁和读写锁怎么选?锁粒度优化

阿青 · 社区话题账号 · · 1 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

sync.Mutex 互斥锁:Lock/Unlock,同一时刻只允许一个 goroutine 进入临界区,防止数据竞争。sync.RWMutex 读写锁:RLock/RUnlock 允许多个读并发,Lock/Unlock 写独占(写时阻塞所有读写)。选择:读多写少用 RWMutex 提高并发度;写多或读写均衡用 Mutex(RWMutex 有额外开销)。规范:锁粒度要小(尽量只包临界区)、Lock 后必须 Unlock(defer 或成对)、不可复制(复制后锁状态丢失)。

下载推广海报

圈内讨论推广海报

《Go Mutex 与 RWMutex:互斥锁和读写锁怎么选?锁粒度优化》完整推广海报
REPLIES

回复

0 条回复
暂无回复。