【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 条评论
登录 后参与评论

相关文章

来自专栏运维

linux下连接windows2003 ppoe 服务器

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

17120
来自专栏西安-晁州

vuex构建笔记本应用学习

vuex:针对vue应用派生的专门管理应用state的工具,state可以理解为我们组件需要操作的data数据,都知道,vue构建spa应用的时候,随着组件规模...

25600
来自专栏从零开始的linux

redis主从

主机名ipnode01(主)192.168.6.71node02(从)192.168.6.72 分别在两台机器上面安装redis wget https://c...

38280
来自专栏康怀帅的专栏

Docker 相关概念总览

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

41980
来自专栏华仔的技术笔记

Boinc for Linux,在服务器上一边科研,一边挖矿

https://www.toutiao.com/i6589514965932048910/

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

Setting up your own Ghost theme

15820
来自专栏Golang语言社区

使用Docker和热加载运行Go API

This is a quick discussion of how to set up a local development environment for ...

14910
来自专栏积累沉淀

ie8和chrome获取上传图片的宽度和高度等尺寸

测试后可用 <html> <head>     <title>测试</title>     <meta chars...

38780
来自专栏程序员同行者

Docker部署Vue 工程包

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

15620
来自专栏琯琯博客

docker-resources资源汇集相关项目博文

docker资源汇总。英文版本链接 资源汇集 书籍 第一本Docker书 (7.4分) Docker —— 从入门到实践 (内容一般) The Docker B...

53570

扫码关注云+社区

领取腾讯云代金券