zinx
zinx copied to clipboard
是否考虑过将 go StartWriter()去掉呢
你好,最近看过你的视频,也将源码对照着学习了一下,有一个地方我有点迷惑: 读和写都是一个单独的goroutine去处理, 其中写会依赖 msgBuffChan或者msgChan通道, 现在是一个链接一个写gorutine(也相当于多少个msgBuffChan实例), 链接初始化时:msgBuffChan: make(chan []byte, utils.GlobalObject.MaxMsgChanLen), 如果MaxMsgChanLen设置很大,会占用大量的内存,就相当于一个链接占用一个空屋子(特别是数据交互特别少的时候) 你们是否考虑过使用worker的方式(使用几个goroutine和几个channel将数据write给客户端呢) 个人想法,望指点
感谢你提供的建议,您这种想法是可以的,通过限定go的数量,来降低write 所占用的内存成本。这也是优化的方式之一,只不过目前发布的版本没有做此优化。