您能解释一下 Netty 如何使用线程池来工作吗?我是否理解正确,有两种线程池:老板和工人。 Boss 用来做 I/O,worker 用来调用用户回调(messageReceived)来处理数据?
这是来自 NioServerSocketChannelFactory 文档
一个 ServerSocketChannelFactory 其中
创建一个基于NIO的服务器端
服务器套接字通道。它利用了
非阻塞 I/O 模式
与 NIO 一起推出,服务众多
并发连接数
有效率的。
线程如何工作
有两种类型
a 中的线程数
NioServerSocketChannelFactory;一个是
boss线程,另一个是worker线程
线。
老板螺纹
每个界限
ServerSocketChannel有自己的老大
线。例如,如果您打开了两个
服务器端口,例如 80 和 443,您
将有两个老板线程。老板
线程接受传入连接
直到端口解除绑定。一旦
连接被成功接受,
boss线程通过了接受的
通向工作线程之一的通道
NioServerSocketChannelFactory
管理。
工作线程
一
NioServerSocketChannelFactory 可以有
一个或多个工作线程。一位工人
线程执行非阻塞读取和
为一个或多个通道写入
非阻塞模式。
在 Nio 模型中,boss Thread 负责所有有界套接字(listen socket),workerThread 负责 Accepted-socket(包括 IO 和调用事件方法,例如消息 Received)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)