PHP プログラミングの一般的なプロセスとスレッド
1. プロセスとは (推奨学習: PHP ビデオ チュートリアル)
プロセスはプログラム実行のインスタンスであり、CPU やメモリなどのリソースに割り当てることができます。通常、プロセスには命令セットとシステム リソースが含まれます。命令セットはコードであり、システム リソースには CPU、メモリ、I/O などが含まれます。
2. スレッドとは何ですか?
スレッドはプロセスの実行ストリームです。スレッドはシステム リソースを割り当てることはできません。プロセスの一部であり、実行されます。プロセスよりも独立して小さい単位。
説明: プロセスには 2 つの特性があります: 1 つはリソースの所有権であり、もう 1 つはスケジューリング実行 (命令セット) です。スレッドはスケジューリング実行の一部であり、そのパスを参照します。プロセス実行プロセス (プログラム実行とも呼ばれます)。スレッドは軽量プロセスと呼ばれることもあります。
3. プロセスとスレッドの関係
プロセスは土地 (システム リソース) を持つ家主のようなもので、スレッドはテナント (スレッド、農業プロセスの実行)。各家主 (プロセス) には、動作するテナント (スレッド) が 1 つだけ必要です。
プロセス - リソース割り当ての最小単位で、比較的堅牢であり、クラッシュは通常、他のプロセスに影響を与えませんが、プロセスの切り替えはリソースを消費し、効率が低下します。
スレッド - プログラム実行の最小単位。独立したアドレス空間はありません。1 つのスレッドが停止するとプロセス全体が停止する可能性がありますが、リソースが節約され、スイッチング効率が高くなります。
4. PHP プログラミングの一般的なプロセスとスレッド
1. Web アプリケーションでは、PHP にアクセスするたびに PHP プロセスを作成します。また、少なくとも 1 つの PHP スレッドを作成します。
2. PHP はマルチプロセス プログラミングに pcntl を使用します。
3. PHP はマルチスレッド プログラミングに pthreads を使用します。
4. nginx の各プロセスにはスレッドが 1 つだけあります. 各スレッドは複数のクライアントからのアクセスを処理できます
5. php-fpm はマルチプロセス モデルを使用します。各プロセスにはスレッドが 1 つだけあり、各スレッドは 1 つのクライアント アクセスのみを処理できます。
6. Apache は、使用される SAPI に応じて、マルチプロセス モデルまたはマルチスレッド モデルを使用する場合があります。
以上がPHPのプロセスまたはスレッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。