<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之旅 廣告
                [TOC] # 同步和異步 同步與異步的理解 同步與異步的重點在**消息通知**的方式上,也就是調用結果通知的方式。 同步是需要主動等待消息通知,而異步則是被動接收消息通知,通過回調、通知、狀態等方式來被動獲取消息 同步: 當一個同步調用發出去后,調用者要一直等待調用結果的通知后,才能進行后續的執行。 異步:當一個異步調用發出去后,調用者不能立即得到調用結果的返回。 異步調用,要想獲得結果,一般有兩種方式: 主動輪詢異步調用的結果; 被調用方通過callback來通知調用方調用結果 生活中的例子 **同步買奶茶**:小明點單交錢,然后等著拿奶茶;異步買奶茶:小明點單交錢,店員給小明一個小票,等小明奶茶做好了,再來取。 **異步買奶茶**: 小明要想知道奶茶是否做好了,有兩種方式: 小明主動去問店員,一會就去問一下:“奶茶做好了嗎?”…直到奶茶做好。這叫輪訓。 等奶茶做好了,店員喊一聲:“小明,奶茶好了!”,然后小明去取奶茶。這叫回調。 # 阻塞與非阻塞 阻塞與非阻塞的理解 阻塞與非阻塞的重點在于進/線程**等待消息時候的行為**,也就是在等待消息的時候,當前進/線程是掛起狀態,還是非掛起狀態。 阻塞調用在發出去后,在消息返回之前,當前進/線程會被掛起,直到有消息返回,當前進/線程才會被激活. 非阻塞調用在發出去后,不會阻塞當前進/線程,而會立即返回。 生活中的例子 **阻塞買奶茶**:小明點單交錢,干等著拿奶茶,什么事都不做; **非阻塞買奶茶**:小明點單交錢,等著拿奶茶,等的過程中,時不時刷刷微博、朋友圈。 # 總結 通過上面的分析,我們可以得知: 同步與異步,重點在于消息通知的方式; 阻塞與非阻塞,重點在于等消息時候的行為。 所以,就有了下面4種組合方式: 同步阻塞:小明在柜臺干等著拿奶茶; 同步非阻塞:小明在柜臺邊刷微博邊等著拿奶茶; 異步阻塞:小明拿著小票啥都不干,一直等著店員通知他拿奶茶; 異步非阻塞:小明拿著小票,刷著微博,等著店員通知他拿奶茶。
                  <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>

                              哎呀哎呀视频在线观看