Läuft der Knoten alle Single-Threaded?
Der Knoten wird in einem einzelnen Thread ausgeführt und verwendet einen asynchronen, nicht blockierenden Single-Thread-Modus. Genau genommen bedeutet Single-Threading, dass im Knoten nur eine JS-Engine ausgeführt wird Es gibt auch unabhängige Threads für die Ausführung von Threads und anderen asynchronen Vorgängen, und der Knoten ist standardmäßig ein Single-Thread. Ein „node.js“ kann keine Multi-Core-Ressourcen nutzen.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, NodeJS-Version 12.19.0, Dell G3-Computer.
Laufen alle Knoten in einem einzigen Thread?
Der Knoten wird in einem einzigen Thread ausgeführt und verwendet den asynchronen, nicht blockierenden Single-Thread-Modus.
Wenn es um Knoten geht, fallen uns sofort Wörter wie Single-Threaded, asynchrones IO und ereignisgesteuert ein. Als Erstes muss geklärt werden, ob es sich bei dem Knoten wirklich um einen Single-Threaded-Knoten handelt. Wo werden dann asynchrone E/A-Vorgänge und geplante Ereignisse (setTimeout, setInterval usw.) ausgeführt?
Streng genommen ist der Knoten eigentlich kein Single-Threaded. Es gibt viele Arten von Threads im Knoten, darunter:
JS-Engine-Ausführungsthread
Timer-Thread (setTimeout, setInterval)
asynchroner HTTP-Thread (Ajax)
Was wir normalerweise als einzelnen Thread bezeichnen, bedeutet, dass es nur einen im Knoten gibt js-Engine läuft im Hauptthread. Andere asynchrone E/A- und ereignisgesteuerte verwandte Threads verwenden libuv, um interne Thread-Pools und Thread-Planung zu implementieren. In libv gibt es eine Ereignisschleife, und das Durchschalten der Ereignisschleife kann einen ähnlichen Effekt wie Multithreading erzielen. Einfach ausgedrückt verwaltet Event Loop einen Ausführungsstapel und eine Ereigniswarteschlange. Wenn im aktuellen Ausführungsstapel asynchrone E/A- und Timerfunktionen gefunden werden, werden diese asynchronen Rückruffunktionen in die Ereigniswarteschlange gestellt. Nachdem die Ausführung des aktuellen Ausführungsstapels abgeschlossen ist, werden die asynchronen Rückruffunktionen in der Ereigniswarteschlange in einer bestimmten Reihenfolge aus der Ereigniswarteschlange ausgeführt.
In der obigen Abbildung ist der gesamte Prozess vom Ausführungsstapel über die Ereigniswarteschlange bis hin zur Ausführung der Rückruffunktion in einer bestimmten Reihenfolge in der Ereigniswarteschlange eine vereinfachte Version der Ereignisschleife. Darüber hinaus wird beim Ausführen der Rückruffunktion auch ein Ausführungsstapel generiert. Asynchrone Funktionen können innerhalb der Rückruffunktion verschachtelt sein, was bedeutet, dass der Ausführungsstapel verschachtelt ist.
Mit anderen Worten, der einzelne Thread im Knoten bedeutet, dass die JS-Engine nur auf dem einzigen Hauptthread ausgeführt wird. Andere asynchrone Vorgänge werden ebenfalls von unabhängigen Threads ausgeführt, die dem Multithreading ähneln Poolplanung. Threads sind die kleinsten Prozesse, daher ist der Knoten auch ein einzelner Prozess. Dies erklärt, warum der Knoten Single-Threaded und Single-Process ist.
Empfohlenes Lernen: „nodejs-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonLäuft der Knoten alle Single-Threaded?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So löschen Sie einen Knoten mit nvm: 1. Laden Sie „nvm-setup.zip“ herunter und installieren Sie es auf dem Laufwerk C. 2. Konfigurieren Sie Umgebungsvariablen und überprüfen Sie die Versionsnummer mit dem Befehl „nvm -v“. install“-Befehl Knoten installieren; 4. Löschen Sie den installierten Knoten über den Befehl „nvm uninstall“.

Wie gehe ich mit dem Datei-Upload um? Der folgende Artikel stellt Ihnen vor, wie Sie Express zum Hochladen von Dateien im Knotenprojekt verwenden. Ich hoffe, er ist hilfreich für Sie!

Während dieser Zeit habe ich einen dynamischen HTML-Dienst entwickelt, der allen Kategorien von Tencent-Dokumenten gemeinsam ist. Um die Generierung und Bereitstellung des Zugriffs auf verschiedene Kategorien zu erleichtern und dem Trend der Cloud-Migration zu folgen, habe ich über die Verwendung von Docker nachgedacht Serviceinhalte verwalten und Produktversionen einheitlich verwalten. In diesem Artikel werden die Optimierungserfahrungen, die ich bei der Bereitstellung von Docker gesammelt habe, als Referenz weitergegeben.

In diesem Artikel stellen wir Ihnen das Prozessmanagement-Tool „pm2“ von Node vor und sprechen darüber, warum PM2 benötigt wird und wie Sie PM2 installieren und verwenden. Ich hoffe, dass es für alle hilfreich ist!

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

Wie packe ich die ausführbare Datei von nodejs mit pkg? Im folgenden Artikel erfahren Sie, wie Sie mit pkg ein Node-Projekt in eine ausführbare Datei packen. Ich hoffe, dass er Ihnen weiterhilft!

Die Authentifizierung ist einer der wichtigsten Teile jeder Webanwendung. In diesem Tutorial werden tokenbasierte Authentifizierungssysteme und ihre Unterschiede zu herkömmlichen Anmeldesystemen erläutert. Am Ende dieses Tutorials sehen Sie eine voll funktionsfähige Demo, die in Angular und Node.js geschrieben wurde. Traditionelle Authentifizierungssysteme Bevor wir zu tokenbasierten Authentifizierungssystemen übergehen, werfen wir einen Blick auf traditionelle Authentifizierungssysteme. Der Benutzer gibt seinen Benutzernamen und sein Passwort im Anmeldeformular ein und klickt auf „Anmelden“. Nachdem Sie die Anfrage gestellt haben, authentifizieren Sie den Benutzer im Backend, indem Sie die Datenbank abfragen. Wenn die Anfrage gültig ist, wird eine Sitzung mit den aus der Datenbank erhaltenen Benutzerinformationen erstellt und die Sitzungsinformationen werden im Antwortheader zurückgegeben, sodass die Sitzungs-ID im Browser gespeichert wird. Bietet Zugriff auf Anwendungen, die unterliegen

Wie führe ich einen Knoten in IDEA aus? Im folgenden Artikel erfahren Sie, wie Sie node.js in IDEA konfigurieren, installieren und ausführen. Ich hoffe, er hilft Ihnen!
