Heim > Artikel > Web-Frontend > Kann der Knoten Multithreading aktivieren?
Node kann Multithreading aktivieren; Sie können das mit Node gelieferte Modul „child_process“ verwenden, um Multithreading zu aktivieren. Die Syntax lautet „child_process.fork(modulePath[, args][, options])“; So erstellen Sie exec und execFile: Es gibt vier Arten von untergeordneten Prozessen: , spawn und fork.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, NodeJS-Version 12.19.0, Dell G3-Computer.
Wir alle wissen, dass Node.js im Single-Thread-Modus ausgeführt wird, aber es basiert auf ereignisgesteuert, nicht- Das blockierende E/A-Modell nutzt die vom Betriebssystem bereitgestellten asynchronen E/A zur Durchführung von Multitasking vollständig aus und eignet sich aufgrund der Asynchronität für E/A-intensive Anwendungsszenarien Das Programm muss nicht blockieren und auf die Rückgabe des Ergebnisses warten child_process-Modul, das mit Node geliefert wird
child_process.fork(modulePath[, args][, options])Leiten Sie einen neuen Node.js-Prozess ab und verwenden Sie den etablierten IPC-Kommunikationskanal (er ermöglicht das Senden von Nachrichten zwischen übergeordneten und untergeordneten Prozessen), indem Sie das angegebene Modul aufrufen
cluster
Das Cluster-Modul kann problemlos untergeordnete Elemente erstellen Prozesse, die den Server-Port gemeinsam nutzen. Der Arbeitsprozess wird mit der Methode child_process.fork() erzeugt.Mit Multi-Process
ExpressErstellen Sie drei neue Dateien: server.js (Express-Dienst) und cluster.js (multi -threaded-Dienstdatei) extensionServer.js (Express-Unterdienst)
Die folgenden Vorgänge stellen sicher, dass Express installiert istnpm intsall express --seve-devconst express = require("express"), //Express框架 app = express(); // api 先关接口 app.all('/userinfo', (req, res) => { res.json({ name: '自夏', msg: '我在自夏 selfsummer' }) }) app.listen(4000, () => { console.log(`子服务启动成功`); })
Serve.js Erstellen Sie zunächst den Express-Multithread-Dienst
Verwenden Sie das Cluster-Cluster-Modul, um Multithreading zu aktivieren
Besuchen Sie die Back-Schnittstelle zweimal (ein Browser-Zugriff, ein Postman-Zugriff).
CPU-Kernanzahl*-Einstellungen ab. Wir haben zuvor beurteilt, ob es einen Hauptprozess gibt Cluster-Modul, um den untergeordneten Prozess zu öffnen.
Wenn nicht, starten Sie den Prozess. Thread-Servicedatei)
Empfohlenes Lernen: „Das obige ist der detaillierte Inhalt vonKann der Knoten Multithreading aktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!