Così, recentemente mi è stato iniettato il virus Node che si sta diffondendo nel mondo della Programmazione molto velocemente.Informazioni su NodeJS e non bloccanti IO
Sono affascinato dal suo approccio "Non-Blocking IO" e ho provato un paio di programmi.
Tuttavia, al momento non riesco a capire alcuni concetti.
ho bisogno di risposte in termini profani (qualcuno proveniente da un background di Java)
1. Multithreading & non-Blocking IO.
Consideriamo uno scenario pratico. Diciamo, abbiamo un sito web dove gli utenti possono registrarsi. Di seguito sarebbe il codice.
In un linguaggio di programmazione tradizionale, quanto sopra avviene in modo sequenziale. E, se ci sono più richieste di registrazione, il server web crea un nuovo thread e il resto è cronologia. Naturalmente, i programmatori possono creare i propri thread per lavorare su Line 2 e Line 3 contemporaneamente.
Nel nodo, come ho capito, le righe 2 & 3 verranno eseguite in parallelo mentre il resto del programma viene eseguito e l'interprete esegue il polling delle righe 2 & 3 ogni 'x' ms.
Ora, la mia domanda è, se il nodo è un linguaggio a thread singolo, che cosa fa il lavoro delle righe 2 & 3 mentre viene eseguito il resto del programma?
2. scalabilità
recente ho letto che LinkedIn hanno adattato nodo come back-end per il loro applicazioni mobili e visto notevoli miglioramenti.
Qualcuno può spiegare come ha fatto una tale differenza?
3. L'adattamento in altri linguaggi di programmazione
Se le persone affermano che nodo da facendo un sacco di differenza quando si tratta di prestazioni, perché non hanno altri linguaggi di programmazione adatti questo non-Blocking IO paradigma ?
sono sicuro che mi manca qualcosa. Solo se puoi spiegarmi e guidarmi con alcuni link, sarebbe utile.
Grazie.
vivamente si consiglia di guardare la presentazione originale di Ryah Dahl (http://www.youtube .com/watch? v = ztspvPYybIY) che risponde a tutte le tue domande. –
Grazie Pradeep. Ha aiutato molto. –