nodejs深入淺出讀書筆記 三

2022-05-04 17:03:10 字數 1301 閱讀 6375

-  使用者體驗

- 資源分配

1. 單執行緒同步程式設計會因i/o導致硬體資源得不到更有的使用

2. 多執行緒也會因為程式設計中的死鎖,狀態同步等問題讓人頭痛

- nodejs給出的解決方案

1.利用單執行緒,原理多執行緒死鎖,狀態同步等問題

2.利用非同步i/o讓單執行緒原理阻塞,更好的使用cpu

3.提供了類似於前端瀏覽器中的web workers的子程序,process_child

1.這種重複呼叫判斷操作是否完成的技術交輪詢

2.事件輪詢的幾種方式

a.read ==> 最原始,效能最低的一種

b.select模式,是在read基礎上的一種改進

c.poll 相比select有所改進,採用的鍊錶的方式避免陣列長度的限制,其次它能避免不要的檢查。但是當檔案描述符較多時,他的效能是十分低下的

d.epoll效率最高的i/o事件通知機制,在進入輪詢的時候沒有檢查到i/o就會進行休眠,直到事件發生將他喚醒。

e.kqueue 改方案與epoll相似,在freebsd系統下存在

事件迴圈 -- 這是node的執行模型,正是他才使得在node中的**函式十分普遍

node程序啟動 > 建立乙個while迴圈,> 迴圈過程為tick ==> 每個tick就是查詢是否有事件待處理,如果有就取出事件及相關的**函式。如果存在關聯的**函式就執行他們。

然後進入下個迴圈,如果不再有事件處理,就退出程序。

3.觀察者 判斷是否有事件需要處理

4.請求物件

5.執行**

事件迴圈,請求物件,**函式,i/o執行緒池構成了node非同步模型的基本要素

《深入淺出nodejs》讀書筆記(2)

本來是想著學學node.js試試的,後來發現node.js才是真正的js啊,它裡面用到了很多我們平時沒用過的js特性,而且還非常優雅,比如它裡面的非同步程式設計思想,總之,深入淺出node.js 絕對值得一看。下面是我的讀書筆記。1.非同步io的優勢 a.從使用者體驗上來說,非同步io在這個資源的獲...

node 《深入淺出nodejs》 讀書筆記

事件驅動是指在持續事務管理過程中,進行決策的一種策略,即跟隨當前時間點上出現的事件,調動可用資源,執行相關任務,使不斷出現的問題得以解決,防止事務堆積。訊息是乙個報告事件發生的通知,訊息驅動是圍繞訊息的產生與處理展開的,並依靠訊息迴圈機制來實現。非阻塞io 單執行緒 多執行緒 死鎖 web work...

深入淺出pmp讀書筆記(三)

深入淺出 pmp 讀書筆記 程序結構 pmp將專案劃分成為一系列程序的集合,程序直接的銜接,就十分重要了。而程序的結構已經專案的知識面就是程序銜接流暢的關鍵。1.程序的結構 pmp為所有的程序都設定了相同的結構,每個程序都由輸入,工具和技術以及輸出三部分組成。a.輸入 程序工作所需要的資訊,資料,檔...