并发作为go的特性之一,必然会带来对于资源的竞争,虽然我们常说使用channel进行通信,但也可以使用sync.Mutex这把互斥锁来保证临
如何在代码中执行某个函数只运行一次,特别是在go这种高并发的情况下。 go给出了一个解法,sync.Once就是用来解决这种问题的,我们常用来
之前的文章httprouter路由框架为什么高性能提到过一点高性能的原因就是它减少了内存分配。因为分配内存是在堆上分配的,调用mallocg
在go中,每次读写时都需要加互斥锁,这个对程序的影响还是比较大的。所以我们在sync包中能够找到另外一个锁—读写锁。当然,读写锁
golang原生的map是不支持并发,而在sync/map是线程安全的,可以并发读写,适用于读多写少的场景。 sync.Map是Go map[i
读写锁是基于互斥锁Mutex实现的读写互斥锁,一个goroutine可以持有多个读锁或一个写锁,同一时刻只能同时持有读锁或写锁。 RWMute