js Event Loop 事件循环
js Event Loop 事件循環(huán)
來源:Loong Panda
概念
Event Loop即事件循環(huán),是解決javaScript單線程運行阻塞的一種機制。 主要是為了協(xié)調(diào)單線程下 ,事件、用戶交互、腳本 、UI 渲染和網(wǎng)絡(luò)處理等行為,防止主線程的不阻塞。
因為JavaScript 是單線程,也就是說,所有任務(wù)需要排隊 ,前一個任務(wù)結(jié)束 ,才會執(zhí)行后一個任務(wù)。
但是IO設(shè)備(輸入、出設(shè)備)可能會因為網(wǎng)絡(luò)等因數(shù)導(dǎo)致速度很慢(比如Ajax)繼而CPU沒有充分利用,所以設(shè)計者將IO設(shè)備的任務(wù)掛起,先執(zhí)行后面的任務(wù)