Как я могу ограничить использование потоков Netty для клиентских подключений

Есть ли способ ограничить, сколько потоков Netty использует для клиентских подключений (Netty является клиентом, который подключается к удаленному серверу). Я использую 1 NioEventLoopGroup который передается в каждый Bootstrap, Каждый из этих Bootstraps получает то же самое ChannelInitializer ссылка (я использовал для создания различных инициализаторов для каждой Bootstrap, но, кажется, работает нормально, используя одну и ту же ссылку). Я подключен из моего Java-приложения ко многим аппаратным устройствам, которые действуют как сервер.

Я заметил, что в настоящее время используется до 16 потоков (я на 8-ядерном компьютере, из того, что я прочитал, Netty использует в 2 раза больше ядер по умолчанию). Они названы nioEventLoopGroup-2-1 в nioEventLoopGroup-2-16 из того, что я вижу в своей регистрации. 17-й сервер, к которому я подключаюсь, будет работать на nioEventLoopGroup-2-1 снова.

1) Есть ли способ изменить этот используемый по умолчанию поток?

2) Есть идеи, почему группа начинает считать с 2?

2 ответа

Решение

Если вы передадите 1 в NioEventLoopGroup и поделитесь экземпляром между начальной загрузкой, будет использоваться только один клиент.

Я видел в исходном коде, что также можно установить его через свойство System: io.netty.eventLoopThreads

Другие вопросы по тегам