Cosa sono le "Continuazioni di Jetty 6" e come si confrontano con le continuazioni trovate nei linguaggi di programmazione?

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

  •  05-07-2019
  •  | 
  •  

Domanda

Sto cercando una risposta che descriva una "continuazione" meccanismo in un server Web rispetto a un linguaggio di programmazione.

La mia comprensione è che usando le continuazioni, è banale avere una "cifra di pi" il produttore comunica con una "cifra di pi" consumatore, senza thread espliciti.

Ho sentito cose molto positive sulle continuazioni di Jetty. Sono curioso di sapere cosa pensano gli altri.

Potrei aver già trovato la mia risposta, ma sto comunque facendo la domanda qui - per la cronaca.

È stato utile?

Soluzione

  

come si confrontano con le continuazioni che si trovano nei linguaggi di programmazione?

Non hanno nulla in comune a parte il nome. È semplicemente un meccanismo per liberare il thread corrente dando a Servlet un'API per archiviare e ripristinare il suo stato, ma è tutto piuttosto gestito manualmente in contrapposizione a continuazioni reali, in cui lo stato viene automaticamente dedotto dal contesto corrente .

L'esempio prototipico per i casi in cui ciò ha senso è costituito da servizi Web a più livelli (composti), in cui un servizio deve fare molte richieste ad altri servizi e mentre queste vengono fatte, il thread corrente viene liberato. Al completamento delle richieste (che possono essere eseguite in modo asincrono su alcuni altri thread), viene chiamato il metodo riprendi del servlet, che quindi riunirà la risposta dai risultati delle richieste.

Altri suggerimenti

Secondo questa pagina :

  

le continuazioni saranno sostituite da   Servlet-3.0 standard sospendibile   richieste una volta che la specifica è   finalizzato. Prime versioni di Jetty-7   sono ora disponibili che implementano il   proposta di sospensione / ripresa dell'API standard

Non ho ancora usato Jetty, ma sembra che con le continuazioni il server non sia tenuto a mantenere un thread per ogni client dove normalmente quando il server sta "trattenendo". (suppongo che il blocco) quando si invia una risposta a un client che lo interroga continuamente con AJAX avrebbe bisogno di un thread per ogni client che sarebbe un problema di scalabilità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top