<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國際加速解決方案。 廣告
                在第1章中,我們曾簡單介紹過異步I/O。“異步”這個名詞其實早就誕生了,但它的大規模流行卻是在Web 2.0浪潮中,它伴隨這AJAX的第一個A(Asynchronous)席卷了Web。Node在出現之前,最習慣異步編程的程序員莫過于前端工程師了。前端編程算GUI編程的一種,其中充斥了各種Ajax和事件,這些都是典型的異步應用場景。 但事實上,異步早就存在于操作系統的底層。在底層系統中,異步通過信號量、消息等方式有了廣泛的應用。意外的是,在絕大多數高級編程語言中,異步并不多件,疑似被屏蔽了一般。造成這個現象的主要原因也許令人驚訝:程序員不太適合通過異步來進行程序設計。 PHP這門語言的設計最能體現這個觀點。它對調用層不僅屏蔽了異步,甚至連多線程都不提供。PHP語言從頭到腳都是以同步阻塞的方式來執行的。它的優點十分明顯,利于程序員順序編寫業務邏輯;它的缺點在小規模站點中基本不存在,但是在復雜的網絡應用中,阻塞導致它無法更好的并發。 而在其它語言中,盡管可能存在異步的API,但是程序員還是習慣采用同步的方式來編寫應用。在眾多高級編程語言或運行平臺中,將異步作為主要編程方式和設計理念的,Node是首個。 伴隨著異步I/O的還有事件驅動和單線程,它們構成Node的基調。Ryan Dahl 正是基于這幾個因素設計了Node。Ryan Dahl最初期望設計出一個高性能的Web服務器,后來則演變成了一個可以基于它構建各種高速、可伸縮網絡應用的平臺,因為一個Web服務器已經完全無法涵蓋和代表它的能力了。盡管它不再是一個服務器,但是可以基于它搭建更多更豐富、更強大的網絡應用。 與Node的事件驅動、異步I/O設計理念比較相近的一個知名產品為Nginx。Nginx采用純C編寫,性能表現非常優異。它們的區別在于,Nginx具備面向客戶端管理連接的強大能力,但是它的背后依然受限于各種同步方式的編程語言。但Node卻是全方位的,既可以作為服務器端去處理客戶端帶來的大量并發請求,也能作為客戶端向網絡中的各個應用進行并發請求。 Web的含義是網,Node的表現就如它的名字一樣,是網絡中靈活的一個節點。
                  <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>

                              哎呀哎呀视频在线观看