久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 瀏覽器渲染進(jìn)程的線程有哪些

瀏覽器渲染進(jìn)程的線程有哪些

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-09-07 16:56:59 1662541019

瀏覽器的渲染進(jìn)程的線程總共有五種: 

瀏覽器渲染進(jìn)程的線程有哪些

(1)GUI渲染線程 負(fù)責(zé)渲染瀏覽器頁面,解析HTML、CSS,構(gòu)建DOM樹、構(gòu)建CSSOM樹、構(gòu)建渲染樹和繪制頁面;當(dāng)界面需要重繪或由于某種操作引發(fā)回流時,該線程就會執(zhí)行。

注意:GUI渲染線程和JS引擎線程是互斥的,當(dāng)JS引擎執(zhí)行時GUI線程會被掛起,GUI更新會被保存在一個隊(duì)列中等到JS引擎空閑時立即被執(zhí)行。

(2)JS引擎線程 JS引擎線程也稱為JS內(nèi)核,負(fù)責(zé)處理Javascript腳本程序,解析Javascript腳本,運(yùn)行代碼;JS引擎線程一直等待著任務(wù)隊(duì)列中任務(wù)的到來,然后加以處理,一個Tab頁中無論什么時候都只有一個JS引擎線程在運(yùn)行JS程序;

注意:GUI渲染線程與JS引擎線程的互斥關(guān)系,所以如果JS執(zhí)行的時間過長,會造成頁面的渲染不連貫,導(dǎo)致頁面渲染加載阻塞。

(3)時間觸發(fā)線程時間觸發(fā)線程屬于瀏覽器而不是JS引擎,用來控制事件循環(huán);當(dāng)JS引擎執(zhí)行代碼塊如setTimeOut時(也可是來自瀏覽器內(nèi)核的其他線程,如鼠標(biāo)點(diǎn)擊、AJAX異步請求等),會將對應(yīng)任務(wù)添加到事件觸發(fā)線程中;當(dāng)對應(yīng)的事件符合觸發(fā)條件被觸發(fā)時,該線程會把事件添加到待處理隊(duì)列的隊(duì)尾,等待JS引擎的處理;

注意:由于JS的單線程關(guān)系,所以這些待處理隊(duì)列中的事件都得排隊(duì)等待JS引擎處理(當(dāng)JS引擎空閑時才會去執(zhí)行);

(4)定時器觸發(fā)進(jìn)程定時器觸發(fā)進(jìn)程即setInterval與setTimeout所在線程;瀏覽器定時計數(shù)器并不是由JS引擎計數(shù)的,因?yàn)镴S引擎是單線程的,如果處于阻塞線程狀態(tài)就會影響記計時的準(zhǔn)確性;因此使用單獨(dú)線程來計時并觸發(fā)定時器,計時完畢后,添加到事件隊(duì)列中,等待JS引擎空閑后執(zhí)行,所以定時器中的任務(wù)在設(shè)定的時間點(diǎn)不一定能夠準(zhǔn)時執(zhí)行,定時器只是在指定時間點(diǎn)將任務(wù)添加到事件隊(duì)列中;

注意:W3C在HTML標(biāo)準(zhǔn)中規(guī)定,定時器的定時時間不能小于4ms,如果是小于4ms,則默認(rèn)為4ms。

(5)異步http請求線程

XMLHttpRequest連接后通過瀏覽器新開一個線程請求;

檢測到狀態(tài)變更時,如果設(shè)置有回調(diào)函數(shù),異步線程就產(chǎn)生狀態(tài)變更事件,將回調(diào)函數(shù)放入事件隊(duì)列中,等待JS引擎空閑后執(zhí)行;

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
軟件定制開發(fā)中的敏捷開發(fā)是什么?

軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關(guān)注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

2023-10-14 13:24:57
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問題是什么?

ORM(對象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
快速通道