sync.map
sync.Map 的使用和内置的 map 类型一样,只不过它是并发安全的。
-
Store:存储一对 key-value 值
var m sync.Map // 写入 m.store("Tom", 18) m.store("Tim", 18)
-
Load:根据 key 获取对应的 value 值,并且可以判断 key 是否存在
age, exists := m.Load("Tom")
-
Delete:删除一个 key-value 键值对
m.Delete("Tom")
-
Range:循环迭代 sync.Map,效果与 for range 一样
m.Range(func(key, value interface{}) bool { name := key.(string) age := value.(int) return true })
-
LoadOrStore:如果 key 对应的 value 存在,则返回该 value;如果不存在,存储相应的 value
sync.Map 和 sync.Mutex + Map 性能比较
TODO
sync.Map 和 sync.RWMutex + Map 性能比较
TODO
网友评论