面试真题

Go · 中等 · 腾讯

golang 读写锁的基本原理

中等 Go 🎤 腾讯
参考答案
结论:sync.RWMutex读写锁允许同时多个读操作或单一写操作,提升读多写少性能。核心要点:内部由写互斥锁和读计数器组成;读锁(RLock)当无写者持锁或写者等待时可直接获取,增加读计数;写锁(Lock)需等待所有读锁释放且无线程持写锁,获取后独占。原理:Go实现写优先策略,若有写者等待则新读锁阻塞,防止写饥饿;底层用互斥锁保护状态,读计数用原子操作。对比互斥锁:互斥锁无论读写都独占,读写锁并发度更高;但写锁优先级可能导致读延迟。适用于缓存、配置读取等场景。
题目整理自公开面经,答案由校招宝自研生成,仅供参考