第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于瀏覽器事件循環(huán)具體實(shí)現(xiàn)?

關(guān)于瀏覽器事件循環(huán)具體實(shí)現(xiàn)?

C++
慕田峪7331174 2019-02-03 22:49:12
網(wǎng)上有不少講解瀏覽器事件循環(huán)機(jī)制的文章,主線程、任務(wù)隊(duì)列、微任務(wù)、宏任務(wù).....都說的大同小異! 單有一點(diǎn)還是不明白:瀏覽器具體是怎么實(shí)現(xiàn)的?首先!如果有事件發(fā)生(不管是網(wǎng)絡(luò)還是鼠標(biāo)事件...)這個(gè)事件需要先添加到任務(wù)隊(duì)列等待處理,那么問題來了,他是怎么把事件添加到隊(duì)列的?或者是說瀏覽器是怎么知道有事件發(fā)生了? 對(duì)于這點(diǎn)我的猜想是:也許所有異步的操作在有結(jié)果的時(shí)候都會(huì)調(diào)一個(gè)函數(shù)(不管是一個(gè)函數(shù)還是一個(gè)什么鬼,反正就是同一段代碼),這段代碼的作用就是通過各種計(jì)算最終把事件處理程序添加到任務(wù)隊(duì)列去....然后!瀏覽器是怎么執(zhí)行循環(huán)機(jī)制的?我的猜想有兩個(gè):1、也許是通過事件來觸發(fā)循環(huán)檢查隊(duì)列的行為的,比如當(dāng)有一個(gè)異步事件到來,瀏覽器除了會(huì)調(diào)用我上面說的那段代碼放置事件處理程序之外,可能還會(huì)在放置后立馬觸發(fā)一次隊(duì)列檢查,如果有事件任務(wù)就立即取出執(zhí)行,2、這個(gè)就簡單暴力了,也許瀏覽器另開一個(gè)線程,這個(gè)線程里埋了個(gè)定時(shí)器,就是setInterval一樣,每隔1毫秒甚至0.5毫秒就去檢查一下任務(wù)隊(duì)列...! 但這樣好像很浪費(fèi)資源!
查看完整描述

1 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

單線程只是說主線程是單線程,不是說沒有別的任何線程,所以以我的理解,event loop的意思大概就是開個(gè)事件循環(huán)線程執(zhí)行while(true)

查看完整回答
反對(duì) 回復(fù) 2019-02-03
  • 1 回答
  • 0 關(guān)注
  • 469 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)