深度理解nodejs[3]—瘋狂事件程式碼
阿新 • • 發佈:2018-11-20
瘋狂的程式碼。
下面這段瘋狂的程式碼,你能知道它輸出什麼結果嗎?
1 |
const https = require('https'); |
測試速度:
1 |
42 |
解釋:
https不依靠libuv庫的4個預設執行緒,作業系統資源。其第一個最快的執行完畢
FS和pbkdf2都使用了libuv中的執行緒池
一開始FS與三個pbkdf2搶佔了libuv執行緒池的4個執行緒,但是由於FS讀取檔案,中斷操作。libuv將執行緒切換到執行最後一個pbkdf2函式。
等到某一個pbkdf2函式執行完畢後,則繼續執行FS函式,所以看到了上面的結果。
本文連結: https://dreamerjonson.com/2018/11/09/深度理解nodejs-3-—瘋狂事件程式碼/
版權宣告: 本部落格所有文章除特別宣告外,均採用 CC BY 4.0 CN協議 許可協議。轉載請註明出處!