ホームページ  >  記事  >  PHPフレームワーク  >  swooleにはマルチスレッドはないのでしょうか?

swooleにはマルチスレッドはないのでしょうか?

尚
オリジナル
2019-12-23 13:33:222571ブラウズ

swooleにはマルチスレッドはないのでしょうか?

PHP 言語はマルチスレッドをサポートしていないため、Swoole はマルチプロセス モードを使用します。マルチプロセスモードではプロセスメモリ分離があり、作業プロセス内でグローバル変数やスーパーグローバル変数を変更すると、他のプロセスでは無効になります。

swooleにはマルチスレッドはないのでしょうか?

Reactor スレッド

Swoole\Server のメイン プロセスはマルチスレッド プログラムです。 Reactor スレッドと呼ばれる非常に重要なスレッドのグループがあります。実際に TCP 接続を処理し、データを送受信するのはスレッドです。

新しい接続を受け入れた後、Swoole のメイン スレッドはその接続を固定 Reactor スレッドに割り当て、このスレッドがソケットの監視を担当します。ソケットが読み取り可能なときにデータを読み取り、プロトコル分析を実行して、リクエストをワーカー プロセスに配信します。ソケットが書き込み可能なときに、TCP クライアントにデータを送信します。

割り当て計算方法は fd % serv->reactor_num

推奨学習: swoole ビデオ チュートリアル

以上がswooleにはマルチスレッドはないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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