Node.jsの特徴を詳しく解説

高洛峰
リリース: 2017-02-04 10:14:25
オリジナル
1272 人が閲覧しました

Node.js は、Chrome v8 エンジンをベースにした Java 実行プラットフォームで、応答速度が速く、拡張が容易な Web アプリケーションを構築するために使用されます。この記事では、Node.js のいくつかの機能について説明します。皆さんが Node.js を学ぶのに役立つことを願っています。

非同期 I/O

ここで、詳しく説明しましょう:

非同期とは何を意味しますか? たとえば、お父さんは、料理、洗濯、床の掃除など、あなたに何かをしてほしいと考えています。お湯やその他の一連のものを沸騰させます。したがって、あなたに関する限り、次のことに進む前に、一つのことを一つずつ終わらせなければなりません。たとえば、お湯を沸かしてから床を掃除し、その後、料理をしますか?このプロセスを同期プロセスと呼びます。あることをするときは待たなければならず、待ってから別のことをしなければなりません。したがって、この時点で、時間を合理的に調整する方法を知っていれば、これを行うことができます。お湯を沸かしているときに、沸騰したお湯を守る必要がないので、床を掃除することができます。水を入れるか点火するだけ。そうすれば、他のことをすることができます。たとえば、床の掃除や洗濯などの一連の作業を行うことができます。つまり、同じことをしたとしても、費やす時間が異なります。後者の方法を使用すると、時間が短縮され、より効率的になる可能性があります。以前の同期方法を使用すると、効率はさらに低下します。したがって、後者のことを非同期操作と呼びます。

イベントとコールバック

物事を非同期的に実行すると非常に効率的になりますが、同時に実行できることは 1 つだけです。たとえば、お湯を沸かしているとき、そこにいる必要はありません。しかし、床を掃除した後、水が沸騰したことをどうやって知ることができるでしょうか? (これが終わったら、どうすればわかりますか?)

それでは、考えてみましょう。やかんの上に小さなスピーカーを置きます。水が沸騰すると、蒸気が出てきます。そして、その蒸気がラッパを吹くとき、私たちはタスクが完了し、水が沸騰し、水が沸騰した後も作業を続けることができることがわかります。

このイベントとコールバックは次のとおりです: 水が沸騰したら、イベントの形式で通知します (これは完了しました。水を入れることができます)。

コールバックとは何ですか?

そのイベントが発生すると、水を満たすプロセスがコールバックになります(つまり、このプロセスを処理します)。沸騰したお湯を処理した結果

シングルスレッド

これはnode.jsの大きな特徴です。効率的なバックグラウンド アプリケーション (ネットワーク アプリケーション) を開発できます

シングル スレッドとは何ですか? 先ほどの例を引き続き使用しましょう。あなたのお父さんがあなたに多くのことをするように頼みます。時間を適切に調整する方法がわからない場合は、同期するときに次のように考えるかもしれません。 (2人か3人の友人に電話します)。一人はお湯を沸かすのを手伝い、一人は床掃除を手伝い、一人は料理を手伝ってくれます。これを行うと、複数の人が同時に作業を手伝ってくれることになります。 (この種の操作をマルチスレッド操作と呼びます。つまり、複数の人が同時に何かを行うことです)

マルチスレッド操作には欠点があります。つまり、これらの友達に操作を手伝ってもらうと、自分は見れば必ずお小遣いを使ってしまうので、ご褒美に美味しいものを買いたくなるはずです。では、お金を使いたくないが、何かを成し遂げたい場合は、どうすればよいでしょうか?これは、先ほど行った非同期の方法でのみ実行できます。つまり、単独で実行できます。効率を高めるには何をすべきでしょうか?このことを行うときに、同時に他のことも行いたい場合、これは単一のスレッドになります (つまり、1 人が物事を実行します)。

クロスプラットフォーム

現在、私たちのnode.jsはMacシステム、Windows、Linux上で実行でき、対応するオペレーティング環境が開発されています。

以上がこの記事の内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。また、PHP中国語ウェブサイトも応援したいと思っています。

Node.js の機能の詳細な説明と関連記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート