Что такое & # 8220; Jetty 6 Continuations & # 8221; и как они сравниваются с продолжениями, найденными в языках программирования?

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

  •  05-07-2019
  •  | 
  •  

Вопрос

Я ищу ответ, который описывает " продолжение " механизм веб-сервера и язык программирования.

Насколько я понимаю, используя продолжения, тривиально иметь "цифры числа пи"; производитель связывается с «цифрами числа пи» потребитель, без явных потоков.

Я слышал очень хорошие вещи о продолжениях Jetty. Мне любопытно, что думают другие.

Возможно, я уже нашел свой ответ, но я все равно задаю вопрос здесь - для протокола.

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

Решение

  

как они соотносятся с продолжениями, найденными в языках программирования?

У них нет ничего общего, кроме названия. Это всего лишь механизм для освобождения текущего потока, предоставляющий Servlet API для хранения и восстановления его состояния, но все это, скорее, выполняется вручную, в отличие от реальных продолжений, где состояние автоматически выводится из текущего контекста. .

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

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

Согласно этой странице :

  

продолжения будут заменены на   стандартный сервлет-3.0 подвесной   запрашивает, как только спецификация   завершена. Ранние выпуски Jetty-7   теперь доступны, которые реализуют   предлагаемый стандарт приостановить / возобновить API

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

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