Node.js是一個基於Chrome v8引擎建立的Java運行平台,用於建立響應速度快、易於擴展的網路應用。本文跟大家分享的是Node.js的一些特點,希望對大家學習Node.js有幫助。
異步I/O
這裡,我們來詳細解釋一下:
異步是什麼意思
比如說你的爸,今天要叫你做些事情,比如說你要做飯、洗衣服還有掃地,以及燒開水等等一系列的事情。那麼,就你一個人來說,你是不是得一件事一件事的挨個做完了之後,才能接著做下一件事。比如說,你是不是燒完開水,然後才來掃地,掃完地然後再來煮飯,煮完飯,你可能才會做其他事情。那麼這個過程,我們就把它叫做同步的過程。你做一件事,你必須等待,等待做完了之後,再做另一件事。那麼這個時候,如果我們懂得合理安排時間的話,我們可以這樣辦:我們在燒開水的時候,我們可以掃地,因為燒開水不用我們守著嘛!只需要把水放好,或點燃就行了。然後,我們可以去做其他事情了。比如說,掃地,或是洗衣服,等等一系列的事情我們都可以做。那麼這樣,在做完了同樣的事情,但是我們所需要花費的時間,它是不一樣的。你用後面這種方式,可能用的時間會更短,效率更高。而你用前面那種同步的方式,它的效率會更低。那麼,後面這種事情,我們就把它叫做非同步的操作。
事件與回調
如果你採用非同步的方式來做事情,它的效率會很高,但是你同時只能做一個事情。比如說,你燒開水的時候,雖然說不用你守在那裡。但是你掃地了過後,你這個水燒開的時候,我怎麼知道呢? (就是這件事做好了之後,我怎麼知道呢?)
於是我們可以想一下,在這個水壺上面,給它放一個小喇叭,當這個水燒開了之後會冒蒸汽,當這個蒸汽吹響這個喇叭的時候,我們就知道這個事情做好了,水燒開了,我們就可以接著做水燒開之後的事情了。
這個事件與回調就是:這個水燒開了以後,它會以事件的形式來通知你(我這個事情做好了,你可以把這個水裝好了)。
回調是什麼意思
當它的事件發生了過後,它會通知你,那麼你在裝水這個過程,就是在回調(就是處理這個過程)。處理完燒開水後的結果
單線程
這一點是node.js比較大的一個特點。它可以開發出高效率的後台應用程式(網頁應用程式)
什麼是單執行緒
還是用剛才那個範例。你爸叫你做很多件事情,如果你不懂的合理安排時間,你就只能用同步;那麼同步的時候,你可能會這樣想:我叫我幾個小伙伴來幫我做這個事情(叫個兩三個小夥伴)。一個幫我煮水,一個幫我掃地,一個幫我煮飯。這樣操作的話,在同一個時段,就有多個人來幫你做事情。 (這種操作,我們把它叫做多執行緒操作,就是同一時間段,有多個人來做事情)
多執行緒操作它有個缺點,就是你請這些小夥伴來幫你做事情,肯定要犒勞一下他們,那麼你勢必會花一下你的零用錢,你一定要買點好吃的東西來犒勞一下。那麼這樣,如果你不想花你的錢,但是你又想把事情做好,那你該怎麼辦呢?只能按照剛才我們異步的方式,就是你一個人做。又要提高效率怎麼辦呢?就是我做這件事情的時候,同時又要做其它事情,那麼這個就是單線程(就是一個人做事情)。
跨平台
目前我們的node.js在mac系統上、Windows上面和Linux這些上面,都可以運行,它已經開發除了對應的運行環境了。
以上就是本文的全部內容,希望本文的內容對大家的學習或是工作能帶來一定的幫助,同時也希望多多支持PHP中文網!
更多Node.js的特色詳解相關文章請關注PHP中文網!