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") ```
';