ホームページ  >  記事  >  バックエンド開発  >  PHPのシングルスレッドの欠点は何ですか?

PHPのシングルスレッドの欠点は何ですか?

青灯夜游
青灯夜游オリジナル
2019-10-16 13:23:593405ブラウズ

PHP (「ハイパーテキスト プリプロセッサ」) は、一般的なオープン ソースのスクリプト言語です。 PHP はサーバー側で実行されるスクリプト言語で、C 言語に似ており、Web サイトでよく使用されるプログラミング言語です。 PHP の独自の構文には、C、Java、Perl、および PHP 独自の構文が混合されています。学習に役立ち、広く使用されており、主に Web 開発の分野に適しています。

PHPのシングルスレッドの欠点は何ですか?

PHP はシングルスレッドですが、PHP がシングルスレッドであることの欠点は何でしょうか?

PHP は常に単一プロセス プログラムですが、PHP の pthreads 拡張機能は以前から利用可能でした。しかし、安定性が十分ではなく、実行中に不可解にハングアップします。PHP 拡張機能はすべて C で書かれており、拡張機能にスレッド競合リソース制御の問題がある場合、全体がハングアップします

#シングルスレッド PHP の欠点

1)、関数の名前が標準化されていない、キャメル ケース メソッドと下線、ご存知のパラメータ転送位置の違い

2)、シングルスレッド; PHP 自体は常に単一プロセス プログラムですが、PHP の pthreads 拡張機能は以前から利用可能でした。しかし、安定性が十分ではなく、実行中に原因不明のハングアップが発生します。PHP 拡張機能はすべて C で書かれており、拡張機能にスレッド競合リソース制御の問題がある場合、全体がハングアップすることを意味します

#3 )、コアの非同期ネットワークはサポートされていません (もちろん、Linux には同期ノンブロッキング ネットワーク モデルのみがあります)。しかし、これが欠けていると、大規模な同時実行に耐えられるネットワーク アプリケーションを開発することが困難になります。従来のネットワーク モデルと IO は両方ともブロックされています。基本的なプログラミングのアプローチは、プロセス (またはスレッド) がユーザーの接続要求に応答するというものです。したがって、何千ものネットワーク接続を必要とするリアルタイム オンライン ゲームのようなタスクを完了することは不可能です。 PHP にも Libevent と eio 拡張機能があり、これをある程度補うことができますが、それほど完璧ではないと感じています

4)、Web 開発のみをサポートし、.exe を作成するのは不便です。ファイルやデスクトップ アプリケーション。携帯電話のプログラムを作成するには不便です。

5) クローラー、自動実行スクリプト、科学計算プロジェクトには適していません。この言語の基本構造は適していません。それを達成する方法はたくさんありますが。

6)、後のメンテナンスが大変です。後期のスピードアップ余地はかなり限られている。

7)、PHP の解釈と操作のメカニズム。この操作メカニズムにより、各 PHP ページが解釈および実行された後に、関連するすべてのリソースをリサイクルできます。言い換えれば、PHP には言語レベルでオブジェクトをメモリに常駐させる方法がありません。

PHP では、すべての変数はページ レベルであり、グローバル変数であっても、クラスの静的メンバーであっても、ページの実行後にクリアされます。 JSP を例にとると、JSP では、Java Bean のスコープには、ページ、アプリケーション、セッション、リクエストの 4 つの有効な値があり、それぞれページ、プログラム、セッション、リクエストの 4 つのライフタイムに対応します。しかし、PHP では、Page の存続期間は 1 つだけです。

PHP 関連の知識について詳しくは、

php中文网

をご覧ください。

以上がPHPのシングルスレッドの欠点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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