加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang map引发的 【fatal error: concurrent map read and map

发布时间:2020-12-16 09:43:26 所属栏目:大数据 来源:网络整理
导读:【问题】我们写的golang程序不定期会抛出fatal error: concurrent map read and map write 的异常 【原因】排查代码,发现是创建session的时候,用到map会引发这个异常,go1.9之前的版本 map都是线程不安全的,在1.9版本之后,引入了sync.Map这种线程安全的m

【问题】我们写的golang程序不定期会抛出fatal error: concurrent map read and map write 的异常

【原因】排查代码,发现是创建session的时候,用到map会引发这个异常,go1.9之前的版本 map都是线程不安全的,在1.9版本之后,引入了sync.Map这种线程安全的map

【解决】把map[interface{}]interface{} 这种声明改为 sync.Map,相关的方法调用也需要修改

【代码】


【ps】在1.9以前的版本这样修改,启动会报错sessionsess_mem.go:23: undefined: sync.Map,不过在1.9版本的环境打包成二进制的文件,可以在较低版本运行

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读