为什么两个协程并发修改 map 会触发 panic?这个 panic 可以被捕获吗?
考察说明
考察 Go 并发安全认知与对 map 并发读写恐慌机制的理解
回答思路
- 说明 Go map 非并发安全,并发写导致内部结构破坏从而 panic
- 能够准确回答该 panic 无法通过 recover 捕获,属于不可恢复错误
- 能够对比可恢复的 panic 与不可恢复的 fatal error 的区别
- 了解并发场景下应使用 sync.Mutex、sync.RWMutex 或 sync.Map 等方案
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。