ホームページ  >  記事  >  バックエンド開発  >  php はシングルスレッドですか、それともマルチスレッドですか?

php はシングルスレッドですか、それともマルチスレッドですか?

(*-*)浩
(*-*)浩オリジナル
2019-09-27 09:30:054675ブラウズ

PHP の設計が始まってから普及するまで、それを解決するためにマルチスレッドを使用する必要性は明らかではありませんでした。

php はシングルスレッドですか、それともマルチスレッドですか?

#マルチスレッドが必要な場合には、対応するソリューションと代替手段もあります。 (推奨される学習: PHP プログラミングの入門から熟練度まで )

マルチスレッドが常に単一スレッドより優れているとは限りません。マルチスレッドでは他の問題が発生する可能性があります (例: 2 つのスレッドが 1 つのスレッドを呼び出すなど)同時に)クラス内で同じメソッドを使用するとデッドロックが発生する可能性があります)。

顧客のページリクエストに対応するPHPがシングルスレッドで処理されることが分かり、コード内のビジネスロジックを上から下まで編集・理解することができます。 PHP は、多くのスレッドを同時に開いて、多くのユーザーから要求された同じ PHP を処理できるため、PHP は「マルチスレッド」とみなすこともできます。

各 PHP ファイルの実行はシングルスレッドですが、サーバー (apache/nigix/php-fpm) はマルチスレッドです。特定の PHP ファイルがサーバーによってアクセスされるたびに、対応する PHP ファイルを実行するための新しいプロセス/スレッドが作成されます。

つまり、 PHP は 1 つのリクエストに対してシングルスレッドですが、複数のリクエストは同時に処理されます。

実際、一般に PHP プログラムを作成する場合、それはシングルスレッドであると見なされます。複数のリクエスト間の関係は、データベース、ファイル、セッション、ロックすると、前のリクエストが完了するまで後続のリクエストがハングアップしてから続行されます。

コルーチンに関しては、新しいプログラムの実行処理(古いものはシーケンス、判定、ループ)としか言えず、その本質もシングルスレッドです

つまり、正確に言うと、PHP はシングルスレッドであり、ある程度までは「マルチスレッド」とみなすこともできます。 ! !

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

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