concurrent-map 支持并发的map
最后更新于:2022-04-02 02:38:13
[TOC]
## 概述
Go语言原生的`map`类型并不支持并发读写。`concurrent-map`提供了一种高性能的解决方案:通过对内部`map`进行分片,降低锁粒度,从而达到最少的锁等待时间(锁冲突)
在Go 1.9中,引入了`sync.Map`。新的`sync.Map`与此`concurrent-map`有几个关键区别。标准库中的`sync.Map`是专为`append-only`场景设计的。
## 安装
`go get github.com/orcaman/concurrent-map
`
## 实例
```
m := cmap.New()
m.Set("foo", "bar")
if tmp, ok := m.Get("foo"); ok {
bar := tmp.(string)
}
m.Remove("foo")
```
';