ホームページ > 記事 > PHPフレームワーク > Swoole が高同時実行をどのように処理するか
## Swoole ハイとマージに対処する方法
##① Reactor モデルの紹介 (推奨学習: ## SWOOLEビデオ チュートリアル )IO 多重化非同期ノンブロッキング プログラムは、古典的な Reactor モデルを使用します。Reactor は、その名前が示すとおり、リアクターを意味します。それ自体はデータの送受信を処理しません。ソケット (パイプ、eventfd、シグナルの場合もある) ハンドルのイベント変更のみを監視できます。
Reactor は単なるイベント ジェネレーターであり、接続/受け入れ、送信/受信、クローズなどのソケット ハンドルに対する実際の操作はコールバック内で完了します。
②Swoole のアーキテクチャswoole はマルチスレッド Reactor とマルチプロセス Worker を使用します。
リクエストが到着すると、swoole は次のように処理します:
请求到达 Main Reactor
|
|
Main Reactor根据Reactor的情况,将请求注册给对应的Reactor
(每个Reactor都有epoll。用来监听客户端的变化)
|
|
客户端有变化时,交给worker来处理
|
|
worker处理完毕,通过进程间通信(比如管道、共享内存、消息队列)发给对应的reactor。
|
|
reactor将响应结果发给相应的连接
|
|
请求处理完成
以上がSwoole が高同時実行をどのように処理するかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。