自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

前端百題斬—原來瀏覽器中存在五類進(jìn)程

系統(tǒng) 瀏覽器
瀏覽器已經(jīng)從單進(jìn)程瀏覽器階段進(jìn)化到多進(jìn)程瀏覽器階段,那么瀏覽器的多進(jìn)程指的是哪些進(jìn)程呢?下面一起來看看。

[[411935]]

瀏覽器已經(jīng)從單進(jìn)程瀏覽器階段進(jìn)化到多進(jìn)程瀏覽器階段,那么瀏覽器的多進(jìn)程指的是哪些進(jìn)程呢?下面一起來看看。

1.瀏覽器進(jìn)程

打開瀏覽器后只有一個(gè),主要負(fù)責(zé)界面顯示、用戶交互、子進(jìn)程關(guān)閉,除此之外,還會(huì)提供存儲(chǔ)等功能。

2.渲染進(jìn)程

其主要作用是頁面渲染、腳本執(zhí)行、事件處理等,默認(rèn)情況下,Chrome會(huì)為每個(gè)Tab標(biāo)簽創(chuàng)建一個(gè)渲染進(jìn)程(注意:出于安全考慮,渲染進(jìn)程都運(yùn)行在沙箱模式下)。對(duì)于渲染進(jìn)程其是由多線程組成,多線程包含以下幾個(gè):

(1)GUI渲染線程

主要負(fù)責(zé)渲染瀏覽器界面,解析HTML、CSS、構(gòu)建DOM樹和RenderObject樹,布局和繪制等。當(dāng)界面需要重繪或重排時(shí),該線程就會(huì)執(zhí)行。

(2)JS引擎線程

主要負(fù)責(zé)解析并執(zhí)行JS代碼。

(注意:JS引擎線程和GUI渲染線程是互斥關(guān)系,當(dāng)JS引擎線程執(zhí)行時(shí)GUI線程會(huì)被掛起,GUI更新會(huì)被保存在一個(gè)隊(duì)列中等到JS引擎空閑時(shí)立即執(zhí)行,所以JS執(zhí)行的時(shí)間過程,就會(huì)造成頁面的渲染不連貫,導(dǎo)致頁面渲染加載阻塞)

(3)事件觸發(fā)線程

用來控制事件循環(huán),當(dāng)js引擎執(zhí)行代碼時(shí),會(huì)將對(duì)應(yīng)的任務(wù)(例如Ajax任務(wù)、鼠標(biāo)點(diǎn)擊……)添加到事件線程中,當(dāng)事件被觸發(fā)時(shí),事件線程會(huì)把事件添加到待處理事件隊(duì)列的隊(duì)尾,等待js引擎的處理。

(4)定時(shí)觸發(fā)器線程

setInterval和setTimeout所在的線程,瀏覽器定時(shí)計(jì)數(shù)器并不是由JavaScript引擎計(jì)數(shù)的,通過單獨(dú)的線程來計(jì)時(shí)并觸發(fā)定時(shí)。(W3C在HTML標(biāo)準(zhǔn)中規(guī)定,setTimeout中低于4ms的時(shí)間間隔算4ms)

(5)異步http請(qǐng)求線程

用于處理請(qǐng)求XMLHttpRequest,在連接后是通過瀏覽器新開一個(gè)線程請(qǐng)求。

3.GPU進(jìn)程

GPU進(jìn)程只有一個(gè)。GPU使用初衷是為了實(shí)現(xiàn)3D CSS的效果,知識(shí)隨著網(wǎng)頁、Chrome的UI界面都選擇采用GPU來繪制,使得GPU成為瀏覽器的普遍需求,最后,Chrome在其多進(jìn)程架構(gòu)上也引入了GPU進(jìn)程。

4.網(wǎng)絡(luò)進(jìn)程

只有一個(gè),主要負(fù)責(zé)頁面的網(wǎng)絡(luò)資源加載。

5.插件進(jìn)程

每個(gè)類型的插件對(duì)應(yīng)著一個(gè)進(jìn)程,主要負(fù)責(zé)插件的運(yùn)行。因?yàn)椴寮妆罎ⅲ孕枰ㄟ^插件進(jìn)程來隔離,以保證插件進(jìn)程崩潰不會(huì)對(duì)瀏覽器和頁面造成影響。

 

責(zé)任編輯:姜華 來源: 執(zhí)鳶者
相關(guān)推薦

2021-07-14 07:00:53

瀏覽器技巧前端

2021-07-26 05:01:55

瀏覽器渲染流程

2021-07-08 07:01:53

瀏覽器安全前端

2021-11-03 06:57:41

瀏覽器Jsonp安全

2021-07-01 07:05:31

瀏覽器存儲(chǔ)

2021-07-05 07:02:33

前端跨域策略

2021-10-19 22:23:05

typeof方式Instanceof

2021-05-09 22:00:59

TypeofInstanceof運(yùn)算符

2021-05-12 07:04:55

Js變量方式

2021-05-30 19:02:59

變量對(duì)象上下文

2021-06-09 07:01:30

前端CallApply

2021-05-19 07:02:42

JS對(duì)象方法

2021-06-07 07:01:43

js關(guān)鍵字運(yùn)行

2021-08-04 06:56:49

HTTP緩存前端

2021-10-18 09:01:01

前端賦值淺拷貝

2012-03-20 13:12:38

百度手機(jī)瀏覽器

2021-11-19 09:01:09

防抖節(jié)流前端

2021-06-04 07:04:29

閉包JavaScript函數(shù)

2021-06-28 07:12:28

賦值淺拷貝深拷貝

2021-06-02 07:02:42

js作用域函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)