3

重複の可能性:
PHP にはスレッドがありますか?

私はこれを見つけました: http://php.net/manual/en/function.pcntl-fork.php

しかし、それらがスレッドなのかプロセスなのかわかりません。混乱しています。彼らは両方の言葉を使います。

代替ソリューションがある場合、これがスレッドが必要なものです: Web ソケットを使用してリアルタイム ゲームを作成したいのですが、バックグラウンドで単一のプロセスを実行して、ゲームごとに 1 つのスレッドを生成することを考えました (または部屋)オンデマンド。

4

3 に答える 3

3

pcntl_fork新しいプロセスを作成します。ドキュメントでは「スレッド」という言葉が使用されていますが、「プロセス」の方がはるかに目立ちます。

pcntl_fork() 関数は、親プロセスとは PID と PPID だけが異なる子プロセスを作成します。

PHP はマルチスレッドをサポートしていません (また、Web サーバー自体が一般的にマルチスレッドであるとは想定できません)。

最後に、何かごとにスレッドを生成することは、それほど遅くない特定のポイントを超えてスケ​​ーリングしないスケーリングへの素朴なアプローチです。別のアーキテクチャを検討することをお勧めします。

于 2012-04-17T09:53:55.437 に答える
2

これは、C の fork() 関数の単なるラッパーです。スレッドではなく、プロセスを作成します。PHP はマルチスレッドをサポートしていません。

于 2012-04-17T09:53:51.700 に答える
0

* PHP はマルチスレッドをサポートしていません。

于 2012-04-17T10:05:59.460 に答える