Allenxuxu / gev

🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
MIT License
1.73k stars 194 forks source link

server的主loop相关问题 #40

Closed M6ZeroG closed 4 years ago

M6ZeroG commented 4 years ago

注意到Listener被单独放置在server.loop里形成一个只包含一个fd的event-loop,这样比起将Listener放置在单独协程里阻塞的Accept并派发TCP连接到各个子event-loop里的方式有什么优势,仅仅是为了保证纯异步非阻塞吗:laughing:,请教。

Allenxuxu commented 4 years ago

在 go 里,似乎两种方式差别不大。具体有没有优势可能需要对比测试下,这和golang底层的协程调度有关。