Früher habe ich heute auf eine Frage mit this answer. geantwortet. In dem Beispiel, das ich gepostet habe, habe ich die synchrone Version eines Aufrufs im bcrypt-Knotenmodul verwendet. Ich entschied mich dafür, die synchrone Version des Aufrufs hauptsächlich zu verwenden, weil ich dachte, dass die Antwort etwas sauberer aussah, aber ich dachte auch nicht, dass dies die Leistung beeinträchtigen würde, weil bcrypt CPU- und speicherintensiv statt I/O-gebunden ist. Es war mein Verständnis, dass Knoten fast den gesamten Code in einem einzigen Thread wie Browser ausgeführt und nur Hintergrundthreads für Dinge wie E/A und Datenbankzugriff verwendet. Dies führte mich zu der Annahme, dass CPU-intensive Aufgaben den Server immer noch im Wesentlichen "blockieren", da es keine anderen Threads gab, an die die Arbeit ausgelagert werden konnte.Beschleunigt die asynchrone Programmierung in node.js CPU-gebundene Aufgaben?
Ein Kommentar zu meiner Antwort zeigte, dass meine Annahme falsch war, und nach einigen Recherchen wurde mir klar, dass ich nicht wirklich wusste, wie node.js mit solchen Dingen umgeht. Beschleunigt die asynchrone Programmierung in node.js cpu und speicherintensive Aufrufe? Wenn ja, wie geht das?
"Beschleunigt die asynchrone Programmierung in node.js cpu und speicherintensive Aufrufe?" - Es tut so, als ob es so wäre. Wie Sanduhren beschleunigen das OS, wenn Sie sie betrachten. – zerkms