<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 1.9.24 調度支持 Stream 模式 [TOC] > 只適用于同步模式 **單連接并發的同步服務器**一般使用`dispatch_mode = 3`調度請求分配到`Worker`進程,底層實現使用了忙閑識別方式。 * 當`Worker`進程接收到請求回調`onReceive`或`onRequest`時,將`Worker`進程的狀態設置為`BUSY`,這時`Reactor`線程將不會再給當前的`Worker`進程分配新的請求 * 當`Worker`進程處理完當前的請求后,將狀態設置為`IDLE`,這時`Reactor`線程將會繼續給當前的`Worker`進程分配新請求 `dispatch_mode = 3`忙閑分配模式,在極端情況下所有`Worker`均處于`BUSY`時,會退化為`dispatch_mode = 1`輪詢模式。無論`Worker`進程處于閑還是忙的狀態,都會分配到新請求。這樣極端情況下,某些請求可能會無法被最快處理。使用`dispatch_mode = 3`時,需要保證絕大部分時間有充足的空閑`Worker`。 在`1.9.24`版本中底層新增加了`Stream`模式。將`dispatch`的過程進行了逆轉,`Reactor`線程不再調度決定向哪個`Worker`進程投遞新請求,而是發起一個`Stream`的`Connect`到一個`Unix Socket`端口。 * 空閑的`Worker`會`Accept`連接,并接收`Reactor`傳遞的新請求 * `Worker`進程處理請求期間不再`Accept`,新請求將有其他`Worker`進行處理 * `Worker`進程完成請求處理后,直接使用`Stream`的通道向對應的`TCP`客戶端連接發送結果數據,響應完畢后關閉`Reactor`和`Worker`之間的`Stream`連接 新的`Stream`模式使用配置`dispatch_mode = 7`來設置開啟。此模式的最大優勢是:**無論任何極端情況下,都可以保證請求會被最快被處理**。 ## 使用實例 ~~~ $serv = new swoole_server("127.0.0.1", 9501); $serv->set(array( 'dispatch_mode' => 7, 'worker_num' => 2, )); $serv->on('receive', function (swoole_server $serv, $fd, $threadId, $data) { var_dump($data); echo "#{$serv->worker_id}>> received length=" . strlen($data) . "\n"; }); $serv->start(); ~~~
                  <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>

                              哎呀哎呀视频在线观看