2017-12-17 5 views

Antwort

1

Nodejs erstellt keine neue Serverinstanz für jeden Client, auch keine anderen Optionen.

Du bist wahrscheinlich von denken Multithreading als traditionell multithreaded Web-Server einen neuen Thread für jede Anfrage eines Clients erstellen, aber da node.js läuft JavaScript, die Gewinde Single ist die Antwort nein ist - jeder Client-Anforderung durch die Handhabung gleicher einzelner Thread.

Aus diesem Grund werden Node.js und JavaScript oft mit dem Wort blockiert verbunden mit der Tatsache, dass wenn Sie Code schreiben, der eine lange Zeit dauert, wird es alle anderen Benutzer von bedient zu blockieren. Sie müssen sich bei der Ausführung von E/A jedoch keine Gedanken über die Blockierung machen, da Node.js (JavaScript) asynchron ist. Dies bedeutet, dass Clientanforderungen sich gegenseitig nicht blockieren, wenn Sie E/A-Vorgänge wie Netzwerkanforderungen oder Festplattenlesevorgänge ausführen. Why is Node.js single threaded?

+0

'multithreaded Web-Server erstellen Sie einen neuen Thread für jeden Client nicht genau request':

Um mehr über Node.js sein Single-Threaded finden Sie auf dieser S/O Antwort zu lesen. Es ist ein alter Ansatz. –

Verwandte Themen