1.3 浏览器渲染原理

浏览器每一个标签页都是一个进程。

GUI渲染线程:

1. 解析HTML|CSS 构建DOM树 | CSSOM树 => 布局 => 绘制

2. 与JS引擎线程是互斥的,当执行JS线程时,GUI渲染会被挂起,当任务队列空闲时,主线程才会回去执行GUI

JS引擎线程

1. 处理JS,解析执行脚本
2. 分配、处理、执行待执行的脚本同时,处理待执行事件以及维护事件队列
3. 阻塞GUI渲染 => js为何会阻塞GUI => 本职需要

定时器的触发线程

1. 异步定时器的处理和执行 - setTimeout | setInterval
2. 接收JS引擎分配的定时器任务,并执行
3. 处理完成交由事件触发线程

事件触发线程

1. 接收所有来源的事件
2. 将回调的事件一次加入到任务队列的队尾,交给js引擎执行

异步HTTP线程

1. 异步执行请求类操作
2. 接收JS引擎线程异步请求操作
3. 监听回调,交给事件触发侧做处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值