multithreading - 如何安全地将新的键值对添加到原生 map 中

标签 multithreading dictionary go thread-safety mutex

我想从并发线程将一个新的键值对添加到 Golang 映射中。问题是,如果 map 中存在 key ,我们不会创建新对。从多线程的角度来看,如何检查当前条件以及如果键不存在插入键-值。

有没有办法组织代码在第一次遇到时安全地添加 key ?

主要问题是安全地初始化互斥锁

最佳答案

Is there any way to organize code to add key safely when first encountered?



不,您需要适当的同步。

关于multithreading - 如何安全地将新的键值对添加到原生 map 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58609856/

相关文章:

Python:使用多线程通过 gzip 传输 MySQL 数据库的 mysqldump 输出挂起

go - Golang中使用database/sql包调用QueryRow方法超时

macos - Go:构建时如何显式链接到 OS X 框架?

go - 如何测试依赖是否被正确调用

java - SurfaceView和线程已经启动异常

c# - 我如何异步处理消息,在处理时丢弃任何新消息?

c# - 如何获取特定 WPF 窗口的当前 SynchronizationContext?

C# 并行更新字典的条目?

python - 通过 python 和 jinja 获取 json 字典值

python - 如何迭代字典列表并合并字典以形成新的较短的字典列表?