鍍金池/ 問答/HTML/ 事件循環(huán)與js執(zhí)行是同一個線程嗎?

事件循環(huán)與js執(zhí)行是同一個線程嗎?

在學(xué)習(xí)事件循環(huán)的過程中,大概知道了js中是有個事件循環(huán)不斷從任務(wù)隊(duì)列中取出任務(wù)來執(zhí)行。

其實(shí),這里有一點(diǎn)一直沒搞明白: 這個事件循環(huán),和執(zhí)行js代碼,這其實(shí)是兩個活,那么,到底事件循環(huán)和執(zhí)行js代碼引擎是2個線程呢,還是事件循環(huán)線程取到任務(wù)之后就用自己的線程來執(zhí)行的?

回答
編輯回答
浪蕩不羈

所有的js的執(zhí)行都是在主線程的。
除此之外還有

UI渲染線程
瀏覽器事件觸發(fā)線程
http請求線程
EventLoop輪詢的處理線程
等

觸發(fā)完了,回調(diào)函數(shù)的執(zhí)行還是拿回主線程。
哦,那確實(shí)輪詢在另一個線程。

2017年11月25日 02:01
編輯回答
夏木

是在eventloop所在的線程,也就是主線程執(zhí)行的,否則的話死循環(huán)就不會卡死程序了
只有web worker是在自己的線程中執(zhí)行的

2018年7月20日 21:24