深入理解Go 1.9 sync.Map

在Go1.6之前,。内置的map类型是部分goroutine安全的,并发的读没有问题,并发的写可能有问题。

Golang之sync.Pool对象池对象重用机制总结

sync.Pool作用对象重用机制,为了减少GC,sync.Pool是可伸缩的,并发安全的两个结构体type Pool struct { local unsafe.

sync.Once 你真的会用吗?

如果您曾经在 Go 中使用过 goroutine,那么您可能会遇到几个并发原语。也许sync.Mutex,sync.WaitGroup也许sync.Map,但你听说过sync.Once吗?也许你有,但godoc 怎么说呢?sync.Once是一个对象,它只会执行一个动作。

为什么说并发场景不要乱用sync.map

map 本身并发不安全的我们都知道go的map是并发不安全的,当几个goruotine同时对一个map进行读写操作时,就会出现并发写问题fatal error: concurrent map writes在程序一开始我们初始化一个map子goroutine对m[a]赋值主goro

深度解密 Go 语言之 sync.Pool

最近在工作中碰到了 GC 的问题:项目中大量重复地创建许多对象,造成 GC 的工作量巨大,CPU 频繁掉底。准备使用 sync.Pool 来缓存对象,减轻 GC 的消耗。为了用起来更顺畅,我特地研究了一番,形成此文。本文从使用到源码解析,循序渐进,一一道来。本文基于 Go 1.