Должен ли я использовать DefaultEventExecutorGroup или пользовательский Java Executor?

1

Я не хочу блокировать пользовательский интерфейс (золотое правило :). Нужно ли мне:

A) создать DefaultEventExecutorGroup и использовать его, когда я добавляю свой ChannelHandler в конвейер:

pipeline.addLast(eventExecutorGroup, "foo", fooChannelHandler);

B) или использовать мой собственный пул потоков java внутри моего экземпляра ChannelHandler а затем запустить задачу в моем методе messageReceived?

Использование Netty 5.

Теги:
multithreading
netty

1 ответ

1
Лучший ответ

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

  • 0
    Правда. Но если у меня есть HttpObjectAggregator перед моим обработчиком, то использование DefaultEventExecutorGroup для не блокирования ввода-вывода не имеет смысла?
  • 1
    Это совершенно не связано ... Вы бы поместили EventExecutorGroup с ChannelHandler, который блокирует в ChannelPipeline
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню