随笔分类 -  golang

摘要:问题复现 labix.org/mgo是golang常用的mongo driver,笔者的项目中重度依赖,不过项目年久失修,已经不维护。所以结论是用官方包。 最近在使用中,我发现了一个问题,服务对mongo的长连接一直缓慢增长,形似mongo连接泄漏。 查看了下mgo源码,发现mgo内部维护了连接池, 阅读全文
posted @ 2020-06-02 19:52 jiangz222 阅读(286) 评论(0) 推荐(0)
摘要:​ robfig/cron是GO语言中一个定时执行注册任务的package, 最近我在工程中使用到了它,由于它的实现优雅且简单(主要是简单),所以将源码过了一遍,记录和分享在此。 文档:http://godoc.org/github.com/robfig/cron,repo: https://git 阅读全文
posted @ 2020-02-22 15:33 jiangz222 阅读(4656) 评论(0) 推荐(0)
摘要:转自: https://mp.weixin.qq.com/s/ElzD2dXWeldYkJmVVY6Djw 作者Draveness Go 语言中的管道 Channel 是一个非常有趣的数据结构,作为语言中一种核心的数据类型,多个 Goroutine 在进行通信时就会使用 Channel 作为中间的通 阅读全文
posted @ 2019-12-22 21:09 jiangz222 阅读(870) 评论(0) 推荐(0)
摘要:本文代码部分基于dive-to-gosync-workshop的代码 Golang 的NewTimer方法调用后,生成的timer会放入最小堆,一个后台goroutine会扫描这个堆,将到时的timer进行回调和channel(下面代码的 c := make(chan Time,1) )写入 而go 阅读全文
posted @ 2019-10-04 16:49 jiangz222 阅读(3145) 评论(0) 推荐(0)
摘要:goalng waitgroup 源码 分析 阅读全文
posted @ 2019-02-02 17:04 jiangz222 阅读(2466) 评论(0) 推荐(1)