Как я могу ограничить использование потоков 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