1.swooleプロセスモデル
swooleは、プロセスswooleアプリケーションを起動するとき、マルチプロセス・モデルのためのフレームワークであり、全く2つの+ N + m個のスレッドが作成され、n個のワーカー・プロセスの数であり、MはプロセスのTaskWorker番号、マスター・プロセスと管理プロセス、関係であります図に示すように。
マスタープロセスベースのプロセス、管理プロセス、原子炉のスレッドの仕事/スレッドを作成
三つのプロセス間の関係は次のとおりです。
原子炉のスレッド:
- 維持のクライアントを担当
TCP
接続、ネットワーク処理IO
、プロトコル処理、データの送受信 - それは完全に非ブロック非同期モード
- すべて
C
に加えて、コード、Start
/Shudown
イベントコールバックが、任意のPHPコードを実行されません TCP
スプライシングされた受信データを、バッファリングクライアントは、完全な要求パケットに分割しますReactor
マルチスレッドように動作します
ワーカープロセス
- で受け入れ
Reactor
スレッド掲示要求パケット、および実行PHP
するコールバックデータ処理を - 応答データを生成してに送られた
Reactor
、スレッドReactor
への送信スレッドをTCP
クライアント - 非同期非ブロッキングモードにすることができ、それは、同期ブロッキングモードすることができ
Worker
複数のプロセスとして実行
TaskWorkerプロセス
- 受け入れられた
Worker
ことによって、プロセスswoole_server->task/taskwait
の使命の送達方法 - タスクを処理し、(使用してデータを返す
swoole_server->finish
)にWorker
プロセス - 完全に同期ブロッキングモード
TaskWorker
複数のプロセスとして実行