Der richtige Weg, um nicht blockierenden Code in Node.js zu erreichen
Bei der asynchronen Programmierung ermöglichen nicht blockierende Funktionen die gleichzeitige Ausführung von anderem Code ohne auf deren Fertigstellung zu warten. Das einfache Einschließen des Codes in ein Promise, wie im Beispiel unten, macht ihn jedoch nicht wirklich nicht blockierend.
function longRunningFunc(val, mod) { return new Promise((resolve, reject) => { sum = 0; for (var i = 0; i < 100000; i++) { for (var j = 0; j < val; j++) { sum += i + j % mod } } resolve(sum) }) }
Obwohl der Code in ein Promise eingeschlossen wird, wartet das Programm mit dem Drucken, was darauf hinweist, dass der Code blockiert.
Nicht blockierenden Code verstehen
In Node.js einfaches JavaScript Code ist von Natur aus blockierend und wird in einem einzelnen Thread ausgeführt. Kein Umschließen von Promises oder asynchronen APIs kann dazu führen, dass es nicht blockiert. Um nicht blockierendes Verhalten zu erreichen, muss man Techniken verwenden, die die Codeausführung auf externe Threads verlagern, oder experimentelle Node.js-APIs für Threads übernehmen.
Nicht blockierenden Code erreichen
Hier sind einige Möglichkeiten, echten nicht blockierenden Code in Node.js zu erstellen:
Durch die Implementierung nicht blockierender Techniken können Node.js-Anwendungen lang laufende Vorgänge effektiv verarbeiten, ohne anderen Code zu behindern Ausführungen, was zu einer verbesserten Reaktionsfähigkeit und Parallelität führt.
Das obige ist der detaillierte Inhalt vonWie kann ich in Node.js wirklich nicht blockierenden Code erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!