Swoole は完全なプロセス管理メカニズムを提供します。PHP の致命的なエラー、他のプログラムによって誤って強制終了された、または max_request 数に達した後の正常終了など、ワーカー プロセスが異常終了したとき。 (推奨学習: SWOOLE ビデオ チュートリアル )
メイン プロセスのメイン プロセスは、新しいワーカー プロセスを再プルします。 通常の Apache php や php-fpm と同様に、ワーカー プロセスでコードを記述することができます。
swoole_server スレッド モード
これはマルチスレッド ワーカー モードで、Reactor スレッドはネットワーク イベントのポーリングを処理し、データを読み取ります。取得されたリクエストは、処理のためにワーカー スレッドに渡されます。
Swoole は、m/n パラメーター調整を実現するための構成可能なパラメーターを提供します。
このモードでは、onReceive は中程度のブロック操作を行うことができます。マルチスレッド モードはプロセス モードよりも軽量であり、スレッド間でスタックとリソースを共有できます。
共有メモリにアクセスすると同期の問題が発生するため、データを保護するために Swoole が提供するロック メカニズムを使用する必要があります。
現在、ミューテックス、読み書きロック、ファイルロック、セマフォ、スピンロックの5種類のロック実装が提供されています。
マルチスレッドの利点:
オブジェクトと変数が共有され、直接操作可能
ファイル記述子が共有され、異なるスレッドが同じリソース直接操作できる
マルチスレッドの欠点:
非ローカル変数を操作するときにロックが必要となり、プログラミングが困難になる
a メモリ エラー
#マルチスレッド モードでの PHP の ZendVM のメモリ エラーのため、マルチスレッド モードは v1.6.0 以降終了しました
以上がswoole ワーカーにはイベントポーリングがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。