Domanda

Ho capito che funzionano in qualche modo distinto dal fare un thread per utente. fa Come esattamente questo lavoro?

(significa 'non-blocking' hanno qualcosa a che fare con esso?)

È stato utile?

Soluzione

Dalla documentazione ritorto:

  

Il reattore è il cuore del ciclo degli eventi all'interno torto - il ciclo che applicazioni unità utilizzando ritorto. Il ciclo di eventi è un costrutto di programmazione che attende e invia gli eventi o messaggi in un programma. Funziona richiamando qualche "provider di eventi" interno o esterno, che in genere blocca fino a quando è arrivato un evento, e quindi chiama il gestore di eventi rilevanti ( "invia l'evento"). Il reattore fornisce interfacce di base per una serie di servizi, tra cui le comunicazioni di rete, filettatura, e dispacciamento evento.

Vedi anche http://en.wikipedia.org/wiki/Event_loop

non bloccante si riferisce in che se si desidera eventi maniglia in più di una presa di corrente (o, più in generale, da più di due di ogni tipo di origine evento) in un singolo thread, è non può usare di blocco operazioni per gestire questi eventi. Se fate un blocco di leggere sulla prima presa, quindi non sarà in grado di leggere dalla seconda presa fino a quando alcuni byte arrivano sul primo. Questo non funziona molto bene, dal momento che non si può davvero sapere quale presa sta per avere byte da leggere prima. Invece si usa qualcosa come select (descritto in dettaglio nella pagina di Wikipedia linkato sopra) di dirvi quale socket ha byte e poi leggerli da quella presa senza bloccare.

che tutto questo significa che si può servire gli eventi da un qualsiasi numero di origini eventi, uno dopo l'altro, dando l'apparenza di gestirli tutti contemporaneamente.

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