亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

深度理解nodejs[3]—瘋狂事件代碼

發布時間:2020-07-20 11:36:04 來源:網絡 閱讀:173 作者:jonson_jackson 欄目:開發技術

瘋狂的代碼。

下面這段瘋狂的代碼,你能知道它輸出什么結果嗎?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const https = require('https');
const start = Date.now();
const fs = require('fs');
const crypto = require('crypto');
function dorequest(){
 https.request('https://www.baidu.com',res=>{
   res.on('data',()=>{});
   res.on('end',()=>{
     console.log(Date.now()-start);
   });
 })
 .end();
}


function dohash(){
 crypto.pbkdf2('a','b',100000,512,'sha512',()=>{
   console.log('hash:',Date.now()-start);
 });
}

dorequest();

fs.readFile('test.js','utf8',()=>{
 console.log('FS:',Date.now()-start);
});
dohash();
dohash();
dohash();
dohash();

測試速度:

1
2
3
4
5
6
42
hash: 785
FS: 785
hash: 788
hash: 790
hash: 790

解釋:

  • 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協議 許可協議。轉載請注明出處!

深度理解nodejs[3]—瘋狂事件代碼

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岳阳县| 中江县| 惠来县| 喀什市| 双柏县| 防城港市| 西乌珠穆沁旗| 萝北县| 莆田市| 监利县| 天水市| 大庆市| 湘潭市| 苍梧县| 雅江县| 甘洛县| 麟游县| 宝鸡市| 沈丘县| 建始县| 潜江市| 和顺县| 综艺| 和政县| 屏东市| 都匀市| 武穴市| 凤城市| 漾濞| 南阳市| 浪卡子县| 饶平县| 宕昌县| 吴川市| 微博| 洞口县| 清水河县| 万州区| 新平| 四平市| 武穴市|