Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Eigenschaften von Node.js

Detaillierte Erläuterung der Eigenschaften von Node.js

高洛峰
高洛峰Original
2017-02-04 10:14:251190Durchsuche

Node.js ist eine Java-Laufplattform, die auf der Chrome v8-Engine basiert und zum Erstellen von Webanwendungen mit schneller Reaktionsgeschwindigkeit und einfacher Erweiterung verwendet wird. Dieser Artikel teilt Ihnen einige Funktionen von Node.js mit. Ich hoffe, dass er für alle hilfreich ist, Node.js zu lernen.

Asynchrone E/A

Hier erklären wir es im Detail:

Was bedeutet asynchron?

Zum Beispiel möchte dein Vater dich heute anrufen Machen Sie etwas, zum Beispiel kochen, Wäsche waschen, den Boden fegen, Wasser kochen und eine Reihe anderer Dinge. Was Sie betrifft, müssen Sie also eine Sache nach der anderen erledigen, bevor Sie mit der nächsten fortfahren können. Kochen Sie zum Beispiel das Wasser und fegen Sie dann den Boden? Wir nennen diesen Prozess also den Synchronisierungsprozess. Wenn Sie eine Sache tun, müssen Sie warten und dann nach dem Warten eine andere Sache tun. Wenn wir also jetzt wissen, wie wir unsere Zeit vernünftig einteilen, können wir Folgendes tun: Wenn wir Wasser kochen, können wir den Boden fegen, weil wir das kochende Wasser nicht bewachen müssen! Geben Sie einfach Wasser hinein oder zünden Sie es an. Dann können wir andere Dinge tun. Wir können zum Beispiel eine Reihe von Dingen erledigen, wie zum Beispiel den Boden fegen oder Wäsche waschen. Nachdem wir also das Gleiche getan haben, ist die Zeit, die wir aufwenden müssen, eine andere. Wenn Sie die letztere Methode verwenden, nimmt sie möglicherweise weniger Zeit in Anspruch und ist effizienter. Wenn Sie die vorherige Synchronisierungsmethode verwenden, ist die Effizienz noch geringer. Letzteres nennen wir also eine asynchrone Operation.

Ereignisse und Rückrufe

Wenn Sie Dinge asynchron erledigen, ist das sehr effizient, aber Sie können nur eine Sache gleichzeitig erledigen. Wenn Sie beispielsweise Wasser kochen, müssen Sie nicht dort bleiben. Aber woher weiß ich, wann Ihr Wasser kocht, nachdem Sie den Boden gekehrt haben? (Wenn das erledigt ist, woher weiß ich das?)

Damit wir darüber nachdenken können, stellen Sie einen kleinen Lautsprecher auf den Wasserkocher, und wenn das Wasser kocht, gibt er Dampf ab, wenn der Dampf austritt Horn, wir werden wissen, dass die Sache erledigt ist, das Wasser kocht, und wir können mit den Dingen weitermachen, nachdem das Wasser gekocht ist.

Dieses Ereignis und dieser Rückruf sind: Nachdem das Wasser gekocht ist, werden Sie in Form eines Ereignisses benachrichtigt (ich habe dies getan, Sie können das Wasser einfüllen).

Was bedeutet Rückruf?

Wenn das Ereignis eintritt, werden Sie benachrichtigt. Dann ist der Vorgang des Wassereinfüllens ein Rückruf (d. h. die Verarbeitung dieses Vorgangs). Verarbeitung der Ergebnisse nach kochendem Wasser

Einzelthread

Dies ist eine Hauptfunktion von node.js. Es kann effiziente Hintergrundanwendungen (Netzwerkanwendungen) entwickeln.

Was ist Single-Threaded?

Ich verwende immer noch das Beispiel gerade. Wenn du nicht weißt, wie du deine Zeit richtig einteilst, kannst du beim Synchronisieren nur so denken: Ich habe ein paar meiner Freunde gebeten, mir dabei zu helfen ( Rufen Sie zwei oder drei Freunde an). Einer hilft mir, Wasser zu kochen, einer hilft mir, den Boden zu fegen, und einer hilft mir beim Kochen. Wenn Sie dies tun, werden Ihnen mehrere Personen gleichzeitig bei der Arbeit helfen. (Wir nennen diese Art von Operation Multithread-Operation, das heißt, mehrere Personen erledigen gleichzeitig Dinge.)

Multithread-Operationen haben einen Nachteil, das heißt, Sie bitten diese Freunde, Ihnen dabei zu helfen Dinge, du musst sie belohnen, dann wirst du definitiv einen Teil deines Taschengeldes ausgeben, und du musst etwas Leckeres kaufen, um sie zu belohnen. Was sollten Sie also tun, wenn Sie Ihr Geld nicht ausgeben, aber Dinge erledigen möchten? Sie können es nur auf die asynchrone Weise tun, die wir gerade gemacht haben, das heißt, Sie machen es alleine. Was sollten wir tun, um die Effizienz zu verbessern? Wenn ich diese Sache mache, möchte ich gleichzeitig auch andere Dinge tun, dann ist dies ein einzelner Thread (das heißt, eine Person macht Dinge).

Plattformübergreifend

Derzeit können unsere node.js auf Mac-Systemen, Windows und Linux ausgeführt werden. Es wurden entsprechende Betriebsumgebungen entwickelt.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels jedem beim Lernen oder Arbeiten helfen kann. Ich hoffe auch, die PHP-Chinese-Website zu unterstützen.

Ausführlichere Erläuterungen zu den Funktionen von Node.js und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn