Heim >Web-Frontend >js-Tutorial >Blockierenden und nicht blockierenden Code verstehen: Ein einfacher Leitfaden für Entwickler

Blockierenden und nicht blockierenden Code verstehen: Ein einfacher Leitfaden für Entwickler

DDD
DDDOriginal
2024-11-06 09:49:02455Durchsuche

Understanding Blocking and Non-Blocking Code: An Easy Guide for Developers

Blockierung:
Blockieren von Code bedeutet, dass die Ausführung des Codes an einem bestimmten Punkt angehalten wird, bis der Vorgang abgeschlossen ist. Während dieser Zeit kann kein anderer Code ausgeführt werden. Es ist, als würde man bei der Bank in der Schlange stehen, bis man an der Reihe ist.

Stellen Sie sich vor, Sie sind in einem geschäftigen Restaurant mit nur einem Koch. Sie bestellen ein Gericht und der Koch beginnt mit der Zubereitung. Bis Ihr Gericht fertig ist, können keine weiteren Bestellungen gekocht werden. Das ist wie Blockierungscode: Alles stoppt, bis die aktuelle Aufgabe erledigt ist.

Nicht blockierend:
Nicht blockierender Code ermöglicht die Ausführung anderer Vorgänge, während auf den Abschluss des aktuellen Vorgangs gewartet wird. Stellen Sie sich das so vor, als würden Sie Ihre Bestellung an einer Durchfahrtsstraße aufgeben und dann weitergehen, um sie abzuholen, während jemand anderes seine Bestellung aufgibt.

Stellen Sie sich nun vor, das Restaurant hätte mehrere Köche. Sie geben Ihre Bestellung auf und während ein Koch mit der Zubereitung Ihres Gerichts beginnt, können andere Köche gleichzeitig andere Bestellungen zubereiten. Dadurch kommt jeder schneller zu seinem Essen. Das ist wie nicht-blockierender Code: Mehrere Aufgaben können gleichzeitig erledigt werden, was die Dinge effizienter macht.

Beispiel:

Blockierung:

const fs = require('fs');

let data = fs.readFileSync('file.txt'); 
console.log(data);

Nicht blockierend:

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');

Im nicht blockierenden Beispiel stoppt fs.readFile die Ausführung des Codes nicht. Stattdessen wird die Rückruffunktion ausgeführt, sobald die Datei gelesen wurde, sodass in der Zwischenzeit anderer Code ausgeführt werden kann.

Warum es wichtig ist:
Blockieren von Code kann Ihre Anwendung träge machen, da sie auf den Abschluss jedes Vorgangs wartet, bevor sie fortfährt.

Nicht blockierender Code hilft beim Aufbau reaktionsfähiger, effizienter Anwendungen, indem er mehrere Aufgaben gleichzeitig erledigt.

Das obige ist der detaillierte Inhalt vonBlockierenden und nicht blockierenden Code verstehen: Ein einfacher Leitfaden für Entwickler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn