multithreading - 如何安全地将新的键值对添加到原生地图中
问题描述
我想从并发线程将一个新的键值对添加到 Golang 映射中。问题是,如果地图中存在密钥,我们不会创建新对。从多线程的角度来看,如何检查当前条件以及如果键不存在插入键-值。
有没有办法组织代码在第一次遇到时安全地添加密钥?
主要问题是安全地初始化互斥锁
解决方案
有没有办法组织代码在第一次遇到时安全地添加密钥?
不,您需要适当的同步。
推荐阅读
- r - 如何根据一个类别的值对 dot ggplot 中的一列重新排序?
- discord.py - Discord bot 重复命令但不是 discord.py 中的事件
- mongodb - MongoDB根据经纬度对文档进行排序
- amazon-web-services - 有没有办法通过 cloudformation/cdk 配置 aws sso 用户?
- postgresql - JDBCPool 与 PgPool,对于 postgres 的 SSLMODE 无法解释的行为
- node.js - 有什么方法可以获取数据类型及其数据续集
- visual-studio-code - 无法在 VSCode 中导入 psycopg(导入错误)
- java - ORA - 01400:无法插入到具有复合键的空(一对多双向)JPA
- django - 如何向用户显示他的愿望清单是空的?
- amazon-web-services - 登录 AWS Workmail 时出现访问错误