标签:用法 sha pool select sele data 写入 line 数据
一定要搞明白sync.Pool的正确用法,避免出现以下问题:
kline := this.pool.Get()
defer this.pool.Put(kline)
kline.UnMarshal(data)
select {
case this.chKLine <- &kline:
}
其中,this.chKLine是带缓冲的channnel。问题在于,写入缓冲channel后就将对象put归还了,这个对象会被重新使用/赋值,而缓冲channel中该数据可能还没有处理完毕。
标签:用法 sha pool select sele data 写入 line 数据
原文地址:https://www.cnblogs.com/cqvoip/p/9038095.html