Blocage :
Le code bloquant signifie que l'exécution du code s'arrête à un point particulier jusqu'à ce que l'opération soit terminée. Pendant ce temps, aucun autre code ne peut être exécuté. C'est comme faire la queue à la banque jusqu'à ce que votre tour soit terminé.
Imaginez que vous êtes dans un restaurant très fréquenté avec un seul chef. Vous commandez un plat et le chef commence à le cuisiner. Aucune autre commande ne peut être préparée tant que votre plat n'est pas terminé. C'est comme bloquer du code : tout s'arrête jusqu'à ce que la tâche en cours soit terminée.
Non bloquant :
Le code non bloquant permet d'exécuter d'autres opérations en attendant la fin de l'opération en cours. Pensez-y comme si vous passiez votre commande dans un service au volant, puis alliez la récupérer pendant que quelqu'un d'autre passe sa commande.
Maintenant, imaginez que le restaurant ait plusieurs chefs. Vous passez votre commande, et pendant qu'un chef commence à cuisiner votre plat, d'autres chefs peuvent préparer d'autres commandes en même temps. Cela signifie que tout le monde reçoit sa nourriture plus rapidement. C'est comme du code non bloquant : plusieurs tâches peuvent être gérées simultanément, ce qui rend les choses plus efficaces.
Exemple :
const fs = require('fs'); let data = fs.readFileSync('file.txt'); console.log(data);
const fs = require('fs'); fs.readFile('file.txt', (err, data) => { if (err) throw err; console.log(data); }); console.log('This runs immediately, even before the file is read');
Dans l'exemple non bloquant, fs.readFile n'arrête pas l'exécution du code. Au lieu de cela, il exécute la fonction de rappel une fois le fichier lu, permettant à un autre code de s'exécuter entre-temps.
Pourquoi c'est important :
Le code de blocage peut ralentir votre application, car elle attend la fin de chaque opération avant de continuer.
Le code non bloquant aide à créer des applications réactives et efficaces en gérant plusieurs tâches simultanément.
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!