Golang|在线排查协程泄漏
- 根据我们的代码,前5毫秒内,每隔1毫秒就会来一个请求,5毫秒之后由于前面的协程执行完,后面又会来新的协程,所以协程数目会保持稳定
- 但是代码一运行,协程数量一直增长,发生了协程泄漏
- 我们可以listenAndServe多监听一个接口
- 至于handleFunc为nil为什么还能有处理函数是因为pprof里面的init函数已经写好了
- 排查之后发现问题了:每一次调用rpc需要5毫秒才能写入元素,但每次都是执行第二个分支先来到,第一路永远不会被执行,所以对workDone写入会阻塞,所以不会退出导致协程不断被创建