想问一下是要每个socket都开两个goroutine分别对应读和写的操作,还是弄一个goroutine池开一定数量的goroutine(比如Cpu的核心数量)去统一读写,这样哪个效率高点,还是差别不大?
想问一下是要每个socket都开两个goroutine分别对应读和写的操作,还是弄一个goroutine池开一定数量的goroutine(比如Cpu的核心数量)去统一读写,这样哪个效率高点,还是差别不大?
2 回答1.3k 阅读
2 回答1.1k 阅读
2 回答1.1k 阅读
2 回答872 阅读
3 回答689 阅读
1k 阅读
1 回答791 阅读
每个链接开两个goroutine是比较可行的方案。
因为经常会涉及到broadcast,如果只有cpu数的goroutine,对于高频率的broadcast是处理没有每个开两个快的。
而且goroutine的Memory和cpu消耗都不是很高。
所以建议每个链接开两个, 也方便定点推送。