swoole には、マスター プロセスとマネージャー管理プロセスという 2 つの主要なプロセスがあることがわかっています。 (推奨学習: swoole ビデオ チュートリアル )
マスター メイン プロセスには、メイン リアクター スレッドと複数のリアクター スレッドが存在します。主な機能は、TCP 接続を維持し、ネットワーク IO を処理することです。データを送受信します。
マネージャーはプロセスを管理し、その役割はワーカーとタスクのプロセスをフォークして管理することです。
ワーカープロセスの機能は、リアクタースレッドから渡されたデータを受け取り、データを処理し、処理結果をリアクタースレッドに返すことです。
タスク プロセスの役割は、比較的時間のかかるタスクを処理することです。タスク プロセスはワーカー プロセスから独立しており、クライアント リクエストのワーカー プロセスの処理には影響しません。
1. タスク プロセスの適用シナリオ:
1. 100 万人のユーザーにイベント メールを送信する必要がある特定のイベントなど、比較的時間のかかる大量メール送信。
2. 特定の大きな V の更新をプッシュします。たとえば、大きな V が新しいメッセージを投稿した場合、ファンは時間内に更新を取得する必要があります。
2. ワーカーとタスクの関係:
1. ワーカー プロセスは task() を呼び出すことでタスクを配信でき、タスク プロセスは onTask イベントを通じて応答します。 . 提出されたタスク。
2. タスク プロセスでは、直接返すか、finish() を呼び出すことで、タスクが完了したことをワーカー プロセスに伝えることができます。ワーカー プロセスでは、onFinish イベントを通じてタスクの完了に応答できます。
3. タスクを使用するための前提条件:
1. Server で task_worker_num の数を設定します。
2. サーバーの onTask および onFinish イベント コールバック関数を設定します。
以上がswoole のタスクはスレッドですか、それともプロセスですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。