713202-20190909213449812-1553220443.png
713202-20190909213458753-452784365.png
713202-20190909213502111-1540933013.jpg
總結(jié):node.js是單線程唁情,就像去麥當勞點餐姻僧,柜臺只處理下單收錢,讓客戶一邊等去份企。node.js的事件循環(huán)是基于libuv的也榄。
上面3張圖就很清楚的解釋了事件循環(huán)。
那上面的macro task 叫宏任務(wù)司志、大任務(wù)甜紫。micro task叫微任務(wù)。
macro task有: process.nextTick, promise等俐芯。
micro task有: 定時器timer, io事件棵介, immediates close事件钉鸯。
每次循環(huán)先清空宏任務(wù)吧史,再去清理微任務(wù)。