swoole2 - ワーカープロセスとTaskWorker

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複数のプロセスとして実行

おすすめ

転載: www.cnblogs.com/jint-php7/p/11672343.html