<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 事件回調函數 `Swoole\Server`是事件驅動模式,所有的業務邏輯代碼必須寫在事件回調函數中。當特定的網絡事件發生后,底層會主動回調指定的`PHP`函數。 * 共支持`13`種事件,具體詳情請參考各個頁面詳細頁 * PHP語言有[4種回調函數的寫法](https://wiki.swoole.com/wiki/page/458.html) 事件執行順序 ---- * 所有事件回調均在`$server->start`后發生 * 服務器關閉程序終止時最后一次事件是`onShutdown` * 服務器啟動成功后,`onStart`/`onManagerStart`/`onWorkerStart`會在不同的進程內并發執行 * `onReceive`/`onConnect`/`onClose`在`Worker`進程中觸發 * `Worker`/`Task`進程啟動/結束時會分別調用一次`onWorkerStart`/`onWorkerStop` * `onTask`事件僅在`task`進程中發生 * `onFinish`事件僅在`worker`進程中發生 > `onStart/onManagerStart/onWorkerStart` 3個事件的執行順序是不確定的 異常捕獲 ---- * `swoole`不支持`set_exception_handler`函數 * 如果你的PHP代碼有拋出異常邏輯,__必須在事件回調函數頂層進行try/catch來捕獲異常__ ```php $serv->on('Receive', function() { try { //some code } catch(Exception $e) { //exception code } } ``` 協程模式 ---- `Swoole2/4`版本支持了協程,使用協程后事件回調函數將會并發地執行。協程是一種用戶態線程實現,沒有額外的調度消耗,僅占用內存。使用協程模式,可以理解為“**每次事件回調函數都會創建一個新的線程去執行,事件回調函數執行完成后,線程退出**”。 如果希望關閉協程,可設置: ```php $server->set(["enable_coroutine" => false, ]); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看