Une analyse approfondie des E/S non bloquantes dans Node.js
Cet article vous présentera les E/S non bloquantes dans Node.js J'espère qu'il vous sera utile !
Comment comprendre les E/S non bloquantes de NodeJs
1 : à savoir Entrée/sortie fait référence à l'entrée et à la sortie d'un système
2. principales différences entre non bloquant et bloquant La différence est : Dans le processus entre la réception des entrées et la sortie des résultats, s'il peut continuer à recevoir d'autres entrées. [Apprentissage recommandé : "tutoriel nodejs"]
Exemple :
Par exemple : sortir manger
Il y a généralement deux façons de sortir manger :
1 Aller à la cantine : faire la queue pour manger
[File d'attente] - [Attendez que la personne en face récupère à manger] - [Prenez à manger vous-même] - [Mangez]
2 Allez au restaurant pour manger
[ S'asseoir] - [Commander] - [Attender] - [Manger]
Pour ces deux façons de manger :
1 Manger à la cafétéria : Pour ceux qui servent les repas, ils doivent attendre la personne en face pour finir de manger avant de servir le repas de la personne suivante. Ce processus est le mode Blocage
2 Manger dans un restaurant : aller manger au restaurant Une fois que le serveur a commandé votre repas, il continuera à gérer les besoins de commande du prochain. personne. Lorsque votre repas sera prêt, il vous le livrera. Pour le serveur, ce processus est un processus non bloquant
Comprenez les points clés des E/S non bloquantes
- .
1 Déterminez un systèmepour les opérations d'E/S, par exemple : ci-dessus Dans l'exemple de cuisine, le système qui effectue les E/S est le personnel de service.
- 2
D'autres E/S peuvent-elles être effectuées pendant que le système effectue des opérations d'E/S ? Cette bibliothèque est principalement utilisée pour trouver des fichiers correspondant aux conditions ? Pour plus de détails, veuillez consulter https://www.npmjs.com/package/globTout d'abord, nous utilisons la méthode de synchronisation fournie par glob pour lire le fichier
const glob = require("glob"); let result = null; result = glob.sync(__dirname + "/**/*"); console.log(result);
Copier après la connexionLe résultat est un
:
us Regardons le temps d'exécution de cette opération de synchronisation :const glob = require("glob"); let result = null; console.time("glob"); result = glob.sync(__dirname + "/**/*"); console.timeEnd("glob");
Une opération de lecture d'un fichier bloquera le processus pendant 33 millisecondes, ce qui est inacceptable !
Ensuite, nous utilisons une méthode asynchrone pour lire le fichierlet result2 = null; console.time("glob2"); glob(__dirname + "/**/*", (err, res) => { console.log("glob over"); }); console.timeEnd("glob2");
Il a fallu un total de 4 millisecondes pour lire le fichier de manière asynchrone, et pendant le processus de lecture du fichier de manière asynchrone, nous pouvons Effectuez également d'autres opérations.
Conclusion
Après avoir étudié, je pense que tout le monde a une compréhension plus profonde des E/S non bloquantes, alors à la prochaine fois. Étudiez dur et progressez chaque jour !
Pour plus de connaissances sur la programmation, veuillez visiter : Vidéo de programmation
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Cet article vous donnera une compréhension approfondie de la mémoire et du garbage collector (GC) du moteur NodeJS V8. J'espère qu'il vous sera utile !

Le service Node construit sur une base non bloquante et piloté par les événements présente l'avantage d'une faible consommation de mémoire et est très adapté à la gestion de requêtes réseau massives. Dans le contexte de demandes massives, les questions liées au « contrôle de la mémoire » doivent être prises en compte. 1. Le mécanisme de récupération de place du V8 et les limitations de mémoire Js sont contrôlés par la machine de récupération de place

Le choix d'une image Docker pour Node peut sembler trivial, mais la taille et les vulnérabilités potentielles de l'image peuvent avoir un impact significatif sur votre processus CI/CD et votre sécurité. Alors, comment choisir la meilleure image Docker Node.js ?

Le module de fichiers est une encapsulation des opérations de fichiers sous-jacentes, telles que l'ajout de lecture/écriture/ouverture/fermeture/suppression de fichiers, etc. La plus grande caractéristique du module de fichiers est que toutes les méthodes fournissent deux versions de **synchrone** et ** asynchrone**, with Les méthodes avec le suffixe sync sont toutes des méthodes de synchronisation, et celles qui n'en ont pas sont toutes des méthodes hétérogènes.

Node 19 est officiellement publié. Cet article vous donnera une explication détaillée des 6 fonctionnalités majeures de Node.js 19. J'espère qu'il vous sera utile !

Comment Node.js fait-il le GC (garbage collection) ? L’article suivant vous guidera à travers cela.

La boucle d'événements est un élément fondamental de Node.js et permet une programmation asynchrone en garantissant que le thread principal n'est pas bloqué. Comprendre la boucle d'événements est crucial pour créer des applications efficaces. L'article suivant vous donnera une compréhension approfondie de la boucle d'événements dans Node. J'espère qu'il vous sera utile !

Au début, JS ne fonctionnait que du côté du navigateur. Il était facile de traiter les chaînes codées en Unicode, mais il était difficile de traiter les chaînes binaires et non codées en Unicode. Et le binaire est le format de données le plus bas du package ordinateur, vidéo/audio/programme/réseau.
