-
我用一个 map 做缓存,多个 goroutine 并发读写它,平时好好的,一到高并发就 fatal error: concurrent map writes 整个进程崩掉,连 recover 都拦不住,我对着 Go 的 map 不是并发安全的这个坑排查大半天的复盘
一个让我对 Go 并发安全彻底敬畏的坑,可怕在它不是普通 panic(还能 recover 兜住)而是一个直接让整个进程崩溃、recover 都拦不住的 fatal error,触发它的只是多个 goroutine 同时读写一个 map。高并发服务用一个 map 做内存缓存,Get 读 Set 写都不加锁,多 goroutine 并发访问。低并发时好好的就上线了,一到真正高并发就毫无征兆崩溃:fa…- 3
- 0
sync
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!

