为什么 Netty 使用 boss and work eventloop 而不是一个 eventloop
Why Netty use boss and work eventloop rather than one eventloop
我有一个关于 Netty 的问题。
似乎它使用一个 boss eventLoop 来继续接受连接,另一个 worker eventLoop 来继续做数据 I/O.
源代码显示一个eventLoop会重复调用select/poll/epoll。所以会有不止一个eventLoop烧掉CPU。为什么 netty 不能只使用一个事件循环来处理服务器监听套接字和接受套接字?
有一种架构叫做 SEDA。 Boss eventloop 的好处是:你用来接受连接的线程不会被用来从套接字读取数据然后在处理程序中完成工作的 IO 线程阻塞。您还可以使用 ExecutionHandler 来帮助事件循环。 Netty 正在改变和改进线程建模。并且在 Netty 4 中改变了很多。
我有一个关于 Netty 的问题。 似乎它使用一个 boss eventLoop 来继续接受连接,另一个 worker eventLoop 来继续做数据 I/O.
源代码显示一个eventLoop会重复调用select/poll/epoll。所以会有不止一个eventLoop烧掉CPU。为什么 netty 不能只使用一个事件循环来处理服务器监听套接字和接受套接字?
有一种架构叫做 SEDA。 Boss eventloop 的好处是:你用来接受连接的线程不会被用来从套接字读取数据然后在处理程序中完成工作的 IO 线程阻塞。您还可以使用 ExecutionHandler 来帮助事件循环。 Netty 正在改变和改进线程建模。并且在 Netty 4 中改变了很多。