01
Go sync.RWMutex 的死锁拓扑与写优先调度陷阱
Go 的 sync.RWMutex 不支持重入且采用写优先调度:持有读锁再请求写锁会自锁,嵌套读锁撞上并发写请求会形成跨协程循环等待。本文用两段可复现代码讲清死锁拓扑,并给出禁止嵌套加锁、极限收敛临界区两条工程防护规范。
WRITING / ENGINEERING NOTES
记录 Go 后端、React/Next.js 与全栈项目中的架构决策、实现细节与工程复盘。
主题
归档
Go 的 sync.RWMutex 不支持重入且采用写优先调度:持有读锁再请求写锁会自锁,嵌套读锁撞上并发写请求会形成跨协程循环等待。本文用两段可复现代码讲清死锁拓扑,并给出禁止嵌套加锁、极限收敛临界区两条工程防护规范。