Остается ли неблокирующая iOS проблемой с серверной Java?

StackOverflow https://stackoverflow.com/questions/1423284

  •  07-07-2019
  •  | 
  •  

Вопрос

В Платформа сокетов Java NIO предположительно, скрывает грязные детали неблокирующего ввода-вывода от разработчиков, позволяя им создавать масштабируемые приложения, которые могут обрабатывать более 10000 входящих и исходящих сокетов, используя только один поток.

  • Является ли неблокирующая iOS все еще проблемой с типичной версией Java 2 SE / EE?

  • Является ли этот фреймворк по-прежнему необходимым и полезным?

Спасибо, что уделили мне время.

Это было полезно?

Решение

Ну, конечно, NIO создает абстракцию над некоторыми деталями.Неблокирующий ввод-вывод по-прежнему вызывает у вас головную боль (по крайней мере, я так считаю), но, по крайней мере, это выполнимо.(Лично я предпочитаю .СЕТЕВОЙ стиль асинхронного ввода-вывода, но это другой вопрос.)

Я обычно используйте блокирующий ввод-вывод:для большинства задач это все, что мне требуется, и я бы не получил значительного выигрыша, используя неблокирующий ввод-вывод.В некоторых случаях (например, тот, о котором вы упомянули) неблокирующий ввод-вывод действительно является единственным способом продвижения вперед, если вы хотите сохранить свой поток отключенным.

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

Другие советы

Да, NIO очень полезен.С NIO также немного сложно работать.В зависимости от ваших потребностей вы могли бы рассмотреть возможность использования фреймворков, которые обертывают NIO, например гризли или мина.Grizzly - это сетевая часть стеклянная рыба сервер приложений из Солнце Oracle.

Mina - это платформа для сетевых приложений от Apache.org.

Лично я предпочитаю гризли, но это всего лишь я.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top