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