关于go:go语言syncmap源码阅读基于120

39次阅读

共计 596 个字符,预计需要花费 2 分钟才能阅读完成。

一、什么是 sync.Map

sync.Map,是一种能够像 Go 语言中的 Map 那样以 Key/Value 格局将值存储在内存中。
sync 通用 Mutex,能够在多个 goroutine 并发执行上也能够平安应用。
咱们在命令行中输出:go doc sync.map
基于 go1.20 版本,能够应用的性能如下。

type Map struct {}
// 罕用
func (m *Map) Store(key, value any)
func (m *Map) Delete(key any)
func (m *Map) Load(key any) (value any, ok bool)
func (m *Map) Range(f func(key, value any) bool)
// 其余
func (m *Map) LoadAndDelete(key any) (value any, loaded bool)
func (m *Map) LoadOrStore(key, value any) (actual any, loaded bool)
func (m *Map) Swap(key, value any) (previous any, loaded bool)
func (m *Map) CompareAndDelete(key, old any) (deleted bool)
func (m *Map) CompareAndSwap(key, old, new any) bool

当初咱们来一边应用,一边学习。

1.1 Store 存储 /Range 遍历

正文完
 0