ホームページ >ウェブフロントエンド >jsチュートリアル >ブロッキング コードとノンブロッキング コードを理解する: 開発者のための簡単なガイド

ブロッキング コードとノンブロッキング コードを理解する: 開発者のための簡単なガイド

DDD
DDDオリジナル
2024-11-06 09:49:02455ブラウズ

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

ブロック:
コードのブロックとは、操作が完了するまでコードの実行が特定の時点で停止することを意味します。この間、他のコードは実行できません。自分の番が終わるまで銀行の列に並ぶようなものです。

あなたがシェフが 1 人しかいない忙しいレストランにいると想像してください。料理を注文すると、シェフが調理を始めます。料理が完成するまで他の注文は調理できません。これはコードをブロックするようなものです。現在のタスクが完了するまですべてが停止します。

ノンブロッキング:
ノンブロッキング コードを使用すると、現在の操作の完了を待機している間に他の操作を実行できます。これは、ドライブスルーで注文し、他の人が注文している間に受け取りに進むようなものだと考えてください。

さて、レストランに複数のシェフがいると想像してください。注文をすると、1 人のシェフが料理を作り始めている間、他のシェフが同時に他の注文を調理することができます。これは、誰もがより早く食べ物を手に入れることを意味します。これはノンブロッキング コードのようなものです。複数のタスクを同時に処理できるため、作業が効率化されます。

例:

ブロッキング:

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

ノンブロッキングの例では、fs.readFile はコードの実行を停止しません。代わりに、ファイルが読み取られるとコールバック関数が実行され、その間に他のコードを実行できるようになります。

それが重要な理由:
コードをブロックすると、各操作が完了するまで待ってから次に進むため、アプリケーションが遅くなる可能性があります。

ノンブロッキング コードは、複数のタスクを同時に処理することで、応答性の高い効率的なアプリケーションの構築に役立ちます。

以上がブロッキング コードとノンブロッキング コードを理解する: 開発者のための簡単なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。