当前位置:网站首页>Is the browser multi process or single process?
Is the browser multi process or single process?
2022-07-29 03:49:00 【Front small white ZYW】
Browsers are multi-process , every last tab Page represents a process , If more than one is empty tab Pages join into a process (webkit))
There are many threads under each process , Let's introduce in detail :
The main work of the rendering engine is to HTML The structure is DOM Trees , take CSS The structure is CSSOM Trees ,DOM Trees and CSSOM The trees merge into render Trees , Render as layout , Finally, it is drawn as a browser page .
The interface needs to be redrawn (Repaint) Or cause reflux due to an operation ( Reflow ) when , The thread will execute .
JS The engine thread is responsible for parsing and executing javascript Script
JS Engine threads and GUI Rendering thread They are mutually exclusive. If JS The engine takes too long , Will block the rendering engine , As a result, the page rendering speed is very slow
JS The engine is executing javascript Code , The corresponding execution stack will be formed , Perform synchronization tasks , The event callback of asynchronous task is thrown to the task queue . Wait for the synchronization task to complete , Perform tasks in the task queue ( Macro task , Micro task )
When the timer is turned on , Trigger timer thread , After the timer ends , The event callback function is added to the task queue , wait for JS Engine processing
When http A request thread will be opened when requesting
When the request is completed , Add the requested callback function to the task queue , wait for JS Engine processing
边栏推荐
猜你喜欢

The latest second edition of comic novels, listening to books, three in one, complete source code / integrated visa free interface / building tutorials / with acquisition interface

Cloudera manager platform fault repair record

What have I learned from 200 machine learning tools?

深入C语言(3)—— C的输入输出流

新零售O2O 电商模式解析

向日葵资深产品总监技术分享:“国民远控”如何在AD域环境下应用
![Machine learning [numpy]](/img/6b/3e7f08c5d379ce35687e4f14545929.png)
Machine learning [numpy]

Why is continuous integration and deployment important in development?

Instance setup flask service (simple version)

Flutter 启动白屏
随机推荐
(newcoder 15079)无关(容斥原理)
In depth C language (4) -- definition and use of switch
1985-2020(8个版次)全球地表覆盖下载与介绍
Why do programmers so "dislike" the trunk development mode?
(2022 Hangdian multi school III) 1011 link is as bear (thinking + linear basis)
Casbin入门
向日葵远程控制为何采用BGP服务器?自动最优路线、跨运营商高速传输
Overestimated test driven development?
Flutter 启动白屏
EMD 经验模态分解
代码 ~ 隐藏或禁用状态栏和虚拟按键
座机的表单验证
新零售O2O 电商模式解析
UCOS task switching process
1985-2020 (8 Editions) global surface coverage download and introduction
Connection broken by 'readtimc rt-443): read timed out (read timeout=l5)“)‘: /pac
OPENSQL快速学习
数据挖掘——关联分析例题代码实现(下)
OA项目之会议通知(查询&是否参会&反馈详情)
(codeforce547)C-Mike and Foam(质因子+容斥原理)