¿Qué son las "continuaciones de embarcadero 6" y cómo se comparan con las continuaciones que se encuentran en los lenguajes de programación?

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

  •  05-07-2019
  •  | 
  •  

Pregunta

Estoy buscando una respuesta que describa una " continuación " Mecanismo en un servidor web vs. un lenguaje de programación.

Mi entendimiento es que al usar continuaciones, es trivial tener un " dígitos de pi " El productor se comunica con un " dígitos de pi " consumidor, sin subprocesos explícitos.

He escuchado cosas muy buenas sobre las continuaciones de Jetty. Tengo curiosidad por lo que piensan los demás.

Es posible que ya haya encontrado mi respuesta, pero estoy haciendo la pregunta aquí de todos modos, para el registro.

¿Fue útil?

Solución

  

¿cómo se comparan con las continuaciones encontradas en los lenguajes de programación?

No tienen nada en común aparte del nombre. Es simplemente un mecanismo para liberar el subproceso actual al proporcionar a Servlet una API para almacenar y restaurar su estado, pero todo se maneja de forma manual en lugar de continuaciones reales, donde el estado se deduce automáticamente del contexto actual .

El ejemplo prototípico para casos en los que esto tiene sentido son los servicios web en capas (compuestos), donde un servicio necesita realizar muchas solicitudes a otros servicios, y mientras se hacen estas solicitudes, se libera el hilo actual. Una vez completadas las solicitudes (que se pueden realizar de forma asíncrona en otros subprocesos), se llama al método resume del servlet, que luego recopilará la respuesta a partir de los resultados de las solicitudes.

Otros consejos

De acuerdo con esta página :

  

las continuaciones serán reemplazadas por   Servlet-3.0 estándar suspendible   pide una vez que la especificación es   finalizado. Primeros lanzamientos de Jetty-7   Ahora están disponibles que implementan el   propuesta de suspensión estándar / reanudar API

Todavía no he usado Jetty, pero parece que con las continuaciones no se requiere que el servidor mantenga un subproceso para cada cliente donde normalmente, cuando el servidor está " retrasando " (supongo que está bloqueando) al enviar una respuesta a un cliente que continuamente la encuesta con AJAX, se necesitaría un hilo para cada cliente, lo que sería un problema de escalabilidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top