码迷,mamicode.com
首页 > 其他好文 > 详细

sync.Pool的使用

时间:2018-05-14 21:29:55      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:用法   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中该数据可能还没有处理完毕。

sync.Pool的使用

标签:用法   sha   pool   select   sele   data   写入   line   数据   

原文地址:https://www.cnblogs.com/cqvoip/p/9038095.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!