go的map是并发不安全的,当同时启动多个goruotine对一个map进行读写操作时,会出现并发写问题fatal error: concurrent map writes

以下代码会出现:concurrent map writes错误

sg := sync.WaitGroup{}
sg.Add(10)tmpResultData := make(map[uint32]string)
for i := 0; i < count; i++ {go func(i int) {tmpResultData[intKey] = "并发写"wg.Done()}(i)
}
sg.Wait()

解决:直接加锁就行

sg := sync.WaitGroup{}
sg.Add(10)
var mutex sync.MutextmpResultData := make(map[uint32]string)
for i := 0; i < count; i++ {go func(i int) {defer wg.Done()mutex.Lock()tmpResultData[intKey] = "并发写"mutex.Unlock()}(i)
}
sg.Wait()

go concurrent map writes map并发问题相关推荐

  1. c语言map函数k v都是int,Go语言sync.Map(在并发环境中使用的map)

    Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 下面来看下并发情况下读写 map 时会出现的问题,代码如下: // 创建一个int到int的映射 m := make(m ...

  2. 【ArrayList】为什么java.util.concurrent 包里没有并发的ArrayList实现?

    2019独角兽企业重金招聘Python工程师标准>>> 为什么java.util.concurrent 包里没有并发的ArrayList实现? 问:JDK 5在java.util.c ...

  3. java url map_java url转map ,map转string

    1.[代码][Java]代码 package com.jiyuren.fast.utils; import java.util.ArrayList; import java.util.Collecti ...

  4. 【Groovy】map 集合 ( map 集合操作符重载 | + 操作符重载 | 代码示例 )

    文章目录 一.map 集合 " + " 操作符重载 二.代码示例 一.map 集合 " + " 操作符重载 对 map 集合使用 " + " ...

  5. 【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

    文章目录 一.使用 map 集合的 each 方法遍历 map 集合 二.代码示例 一.使用 map 集合的 each 方法遍历 map 集合 遍历 map 集合 , 可以调用 map 集合的 eac ...

  6. Python编程基础:第五十五节 map函数Map

    第五十五节 map函数Map 前言 实践 前言 map函数的作用是将指定函数作用于一个可迭代对象内部的每一个元素,其表达方式为map(function, iterable),第一个位置指定作用函数,第 ...

  7. java Gson转map与map转gson

    java  Gson转map与map转gson gson库下载地址:http://code.google.com/p/google-gson/downloads/list java代码: public ...

  8. java map中的entry_java中Map及Map.Entry详解(组图)

    java中Map及Map.Entry详解(组图) 08-22栏目:技术 TAG:map.entry map.entry Map是java中的接口,Map.Entry是Map的一个内部接口. copyr ...

  9. Java基础 HashMap的添加 修改 遍历 Map.Entry Map.entrySet()的使用及实例

    Java Map Map中不能包含相同的键,每个键只能映射一个值. HashMap:并不能保证它的元素的顺序,元素加入散列映射的顺序并不一定是它们被迭代方法读出的顺序. Map.Entry Map.E ...

最新文章

  1. python3:利用SMTP协议发送QQ邮件+附件
  2. 数据中心内虚拟机迁移带来的网络技术难题
  3. 明明连上了网,但是打不开网页
  4. 小红帽linux操作教程_【免费】Linux从入门到精通教程!
  5. python笔记(五) - 获取对象的引用
  6. oracle+buffer+busy+wait,Oracle数据库buffer busy wait等待事件 (2)
  7. 2012-2013年度大总结
  8. 常见电容器图片_工业机器视觉的常见应用与施努卡VisionMax视觉系统介绍
  9. 【CSAPP笔记】14. 异常控制流和进程
  10. Ubuntu系统下安装MATLAB2014a
  11. 软件测试知识点 fiddler抓包教程
  12. 全新在线制图网站源码在线制作横幅广告
  13. 主成分分析法(PCA)原理和步骤
  14. 畅游陈德文:中国网游的发展与未来趋势
  15. 趣味小问题2——规律型勾股数
  16. SVG是什么?SVG有什么用途?
  17. 中望3D 2021 插入基准面 - 2实体构面法
  18. Ubuntu清理系统垃圾 命令
  19. C++可视化界面EasyX图形库的安装以及简单使用
  20. 超级经典,绝对好的第三方控件网

热门文章

  1. 计算机二本院校排名民办河北,2018河北二本大学排名
  2. 海量数据去重之SimHash算法简介和应用
  3. DesignWare 加密文件 综合成GTECH 以便FPGA使用
  4. JS Array.slice 截取数组的实现方法
  5. 大数运算(高精度运算)
  6. android微信分享大图长图,裁剪微信分享缩略图片(长缩略图取中裁剪)
  7. 20189200余超 2018-2019-2 移动平台应用开发实践第十一周作业
  8. Facebook MySQL工程师吐槽MemSQL:MySQL比你们快无数倍
  9. 如何制作一个漂亮的二维码 QRBTF
  10. ef连接mysql报root没有权限_EF下使用自定义的connectionString避免数据库密码泄露