是否可以LoadOrStore进入 Go 而sync.Map无需每次都创建新的结构?如果没有,有哪些替代方案?
LoadOrStore
sync.Map
这里的用例是,如果我使用作为sync.Map缓存,其中缓存未命中很少(但可能),并且在缓存未命中时我想添加到映射中,我需要在每次LoadOrStore调用时初始化一个结构,而不仅仅是在需要时创建结构。我担心这会损害 GC,初始化数十万个不需要的结构。
在 Java 中,这可以使用computeIfAbsent.
computeIfAbsent
concurrency go
concurrency ×1
go ×1