千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 瀏覽器渲染進程的線程有哪些

瀏覽器渲染進程的線程有哪些

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

瀏覽器的渲染進程的線程總共有五種: 

瀏覽器渲染進程的線程有哪些

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

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

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

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

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

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

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

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

(5)異步http請求線程

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

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

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

軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應環(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、定義和目標不同云快照的主要目標是提供一種快速恢復數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標...詳情>>

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

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

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

ORM(對象關系映射)解決的主要問題是將關系數(shù)據(jù)庫與面向對象編程之間的映射困境。在傳統(tǒng)的關系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向對象...詳情>>

2023-10-14 12:26:19
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
这里只有精品最新地址在线 | 亚洲午夜草久久 | 亚洲精品中文字幕字幕 | 一级特黄大片在线播放 | 日韩欧美高清中文字幕免费一区二区 | 亚洲人成中文字幕在线观看 |