@Ernest3
Учусь программированию

Что лучше применить для мессенджера многопоточность или неблокирующий ввод/вывод?

Что лучше применить для мессенджера многопоточность или NIO.
  • Вопрос задан
  • 360 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Лучше применить ту технологию, которая больше подойдёт для решения конкретных задач в определённых условиях. А они в вашем вопросе не описаны.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Расточительно на каждый запрос создавать поток, используйте асинхронность.
Архитектура примерно такая:

1. определить биндинги к ip
2. в цикле создать слушатель на каждый ip (или привязаться к 0.0.0.0)
3. для каждого слушателя создать массив буферов ввода
4. при подключении добавить соединение в буфер
5. читать данные и что то с ними делать

Посмотрите вот этот пример, в Jave есть обертки, но суть в общем то одна
https://www.ibm.com/support/knowledgecenter/ssw_ib...
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Многопоточность - это не соединения, а потоки обработки каждого соединения.
NIO - это обмен данными по сети.
Применять надо и то, и то!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы