如何限制客户端连接的线程netty使用

时间:2014-02-28 09:15:27

标签: java netty

有没有办法限制netty用于客户端连接的线程数(Netty是连接到远程服务器的客户端)。我使用1 NioEventLoopGroup传递给每个Bootstrap。每个Bootstraps都获得相同的ChannelInitializer引用(我曾经为每个Bootstrap创建不同的初始化器,但它似乎可以很好地共享相同的引用)。我从我的Java应用程序连接到许多充当服务器的硬件设备。

我注意到目前最多使用了16个线程(我使用的是8核心机器,从我读过的内容来看,Netty默认使用的内核数量是2倍)。它们从我在日志记录中看到的名称nioEventLoopGroup-2-1nioEventLoopGroup-2-16。我连接的第17台服务器将再次在nioEventLoopGroup-2-1上运行。

1)有没有办法改变这个使用的线程默认值?

2)知道为什么小组从2开始计算?

2 个答案:

答案 0 :(得分:2)

如果您将1传递给NioEventLoopGroup并在bootstraps之间共享实例,则只会使用一个客户端。

答案 1 :(得分:0)

我在源代码中看到也可以通过System属性设置它:io.netty.eventLoopThreads