ホームページ >バックエンド開発 >PHPチュートリアル >nodejs学習メモ_インフラストラクチャにおけるnodejsとPHPの違い 共有状態同時実行
Node.js に関するほとんどの議論は、高い同時実行性の処理に焦点を当てています。開発時には、ノード内で行われるトレードオフと、ノード アプリケーションのパフォーマンスが優れている理由を理解する必要があります。
node は、共有状態の同時実行性という複雑な概念を JavaScript に導入します。
ノードは長時間実行プロセスを使用します
phpはApacheで複数のプロセスを生成します
以下に示すように:
コード検証:
PHP:
<?php$i = 0;$i++;echo $i
ノードジェス:
りー
ブラウザを使用してこれら 2 つのアドレスをリクエストする場合
PHP は常に 1 を出力します
Node.js は 1 2 3 4 5 6... を出力します
写真からわかるように、PHP の実行が終了した後プログラムを実行すると、次回実行時に新しいスレッドが再適用されます。変数は実行されるたびにメモリに適用され、値 0 が割り当てられ、1 が加算されるため、出力は 1 になります
そして、nodejs は常に長時間実行されるプロセスを維持します。変数 i は常にメモリ内に存在します。実行されるたびに 1 ずつインクリメントされるので、 1 2 3 4 5 6 と表示されます...
Apache によって生成された新しいスレッドは毎回ステータスを更新し、$i が再割り当てされます,
ノードはそうではなく、
のたびに $i が 1 ずつ増加します。 したがって、ノードでは、コールバック関数がメモリ内の変数を変更する場合は特に注意する必要があります。