<pre>
代码库:https://github.com/fatih/pool.git
文件:channel.go
代码:
func (c *channelPool) getConnsAndFactory() (chan net.Conn, Factory) {
c.mu.RLock()
conns := c.conns
factory := c.factory
c.mu.RUnlock()
return conns, factory
}
</pre>
读锁是排斥写锁不排斥读锁,也就是说可以并发读取是共享锁.提高并发性.
写锁是排斥其他所有锁, 是独占锁.
我是奇怪你贴出的代码为啥不用defer来解锁?
#1
更多评论