Swoole\Server はイベント駆動型モデルであり、すべてのビジネス ロジック コードはイベント コールバック関数に記述する必要があります。特定のネットワーク イベントが発生すると、最下層は指定された PHP 関数をアクティブにコールバックします。 合計 13 種類のイベントがサポートされています。 (推奨学習: swoole ビデオ チュートリアル )
イベント実行シーケンス
すべてのイベント コールバックは $server->start の後に発生します
サーバーシャットダウンプログラム終了時の最後のイベントはonShutdownです。
サーバーが正常に起動すると、onStart/onManagerStart/onWorkerStartが異なるプロセスで同時に実行されます
onReceive/onConnect/onCloseがトリガーされますWorker プロセス内で
#OnWorkerStart/onWorkerStop は Worker/Task プロセスの開始/終了時に 1 回呼び出されます
onTask イベントはタスク プロセスでのみ発生します
onFinish イベントワーカー内でのみ発生 プロセス内で発生する 3 つのイベント
onStart/onManagerStart/onWorkerStart の実行順序は不確実です
Coroutine モード
Swoole2/4 バージョンではコルーチンをサポートしており、コルーチンを使用するとイベントのコールバック関数が並行して実行されます。コルーチンは、追加のスケジューリングを消費せず、メモリのみを占有するユーザー モード スレッドの実装です。
コルーチン モードの使用は、「各イベント コールバック関数が実行用の新しいスレッドを作成します。イベント コールバック関数が実行された後、スレッドは終了します。」と理解できます。
コルーチンを閉じたい場合は、次のように設定できます:
$server->set(["enable_coroutine" => false, ]);
以上がスウールイベントの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。