【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[string]StPaiHangBangPC) var test1 StPaiHangBangPC test1.OpenID = "openid_1" test1.PaiHang = "1" test1.YaoCiShu = "10" YongHuomap["openid_1"] = test1 m.Store("ShangJiaOenID_1", YongHuomap) // 第二个 YongHuomap2 := make(map[string]StPaiHangBangPC) var test2 StPaiHangBangPC test2.OpenID = "openid_2" test2.PaiHang = "2" test2.YaoCiShu = "9" YongHuomap2["openid_2"] = test2 var test3 StPaiHangBangPC test3.OpenID = "openid_3" test3.PaiHang = "1" test3.YaoCiShu = "10" YongHuomap2["openid_3"] = test3 var test5 StPaiHangBangPC test5.OpenID = "openid_4" test5.PaiHang = "1" test5.YaoCiShu = "1000099999" var test4 StPaiHangBangPC test4.OpenID = "openid_4" test4.PaiHang = "1" test4.YaoCiShu = "10" YongHuomap2["openid_4"] = test4 // 获取存的数据 rdata3, sss := m.Load("ShangJiaOenID_2") if sss { hdata := make(map[string]StPaiHangBangPC) for _, vvv11 := range rdata3.(interface{}).(map[string]StPaiHangBangPC) { var YongHuomapLinShi StPaiHangBangPC YongHuomapLinShi.OpenID = vvv11.OpenID YongHuomapLinShi.YaoCiShu = vvv11.YaoCiShu hdata[YongHuomapLinShi.OpenID] = YongHuomapLinShi } fmt.Println(hdata) hdata[test5.OpenID] = test5 m.Store("ShangJiaOenID_2", hdata) fmt.Println(hdata) vv, _ := m.LoadOrStore("ShangJiaOenID_2", YongHuomap2) fmt.Println(vv) } else { m.Store("ShangJiaOenID_2", YongHuomap2) } rdata4, sss := m.Load("ShangJiaOenID_2") if sss { hdata := make(map[string]StPaiHangBangPC) for _, vvv11 := range rdata4.(interface{}).(map[string]StPaiHangBangPC) { var YongHuomapLinShi StPaiHangBangPC YongHuomapLinShi.OpenID = vvv11.OpenID YongHuomapLinShi.YaoCiShu = vvv11.YaoCiShu hdata[YongHuomapLinShi.OpenID] = YongHuomapLinShi } fmt.Println(hdata) hdata[test5.OpenID] = test5 m.Store("ShangJiaOenID_2", hdata) fmt.Println(hdata) vv, _ := m.LoadOrStore("ShangJiaOenID_2", YongHuomap2) fmt.Println(vv) } else { m.Store("ShangJiaOenID_2", YongHuomap2) } } 运行结果:

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2017-07-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏康怀帅的专栏

Docker 相关概念总览

Docker 概念总览 Docker Engine Docker 引擎 Docker architecture Docker 架构 Docker daemon ...

3958
来自专栏王亚昌的专栏

How to build your own ubuntu image with docker?

docker run -d -p 222:22 ubuntu-sshd-admin

982
来自专栏鬼谷君

Docker 部署Django项目

这里指定 Python 版本为docker官方提供的 "0.0.0.0:8000" 这里笔者开启容器中 8000 端口

1253
来自专栏乐沙弥的世界

Oracle 11g RAC crs_stat 命令结果完整显示

Oracle 11g RAC中crs_stat命令较之前的版本多出了很多新的不同的资源类型,缺省情况下,使用crs_stat -t来查看资源是密密麻麻一大片,看...

1991
来自专栏乐沙弥的世界

Oracle 11g RAC CRS-4535/ORA-15077

    新安装了Oracle 11g rac之后,不知道是什么原因导致第二个节点上的crsd无法启动?其错误消息是CRS-4535: Cannot commun...

813
来自专栏运维

linux下连接windows2003 ppoe 服务器

1,在CentOS6.3下用 /usr/sbin/pppd  pty "/usr/sbin/pptp publicip --nolaunchpppd" f...

1022
来自专栏咖啡的代码人生

(BAE)jetty8+struts2导致 welcome-file-list 失效

最近在使用BAE的过程中,有个问题始终解决不了,在配置struts2框架环境的时候, 如果拦截配置的是<url-pattern>/*</url-patter...

3739
来自专栏鬼谷君

Docker部署Vue 工程包

这样前端工程镜像就build好了,可以执行docker run -d -p9528:9528 dist:v0.1启动

852
来自专栏前端萌媛的成长之路

Setting up your own Ghost theme

1382
来自专栏杨建荣的学习笔记

关于update语句的性能测试(62天)

今天对表的update进行了性能测试,收获不小。在linux 64位的环境中测试, 数据量是按照40万左右的标准进行的测试。 SQL> select count...

2857

扫码关注云+社区