浏览器的线程-阿里云开发者社区

开发者社区> 快乐的嘟嘟> 正文

浏览器的线程

简介: 浏览器是多进程还是单进程?
+关注继续查看

浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程(也不一定,因为多个空白 tab 标签会合并成一个进程),浏览器内核(浏览器渲染进程)属于浏览器多进程中的一种。
浏览器每个进程有多个线程,主要有以下线程
GUI 渲染线程:
负责渲染页面,解析 HTML,CSS 构成 DOM 树等,当页面重绘或者由于某种操作引起回流都会调起该线程。
和 JS 引擎线程是互斥的,当 JS 引擎线程在工作的时候,GUI 渲染线程会被挂起,GUI 更新被放入在 JS 任务队列中,等待 JS 引擎线程空闲的时候继续执行。
JS 引擎线程:
单线程工作,负责解析运行 JavaScript 脚本。
和 GUI 渲染线程互斥,JS 运行耗时过长就会导致页面阻塞。
事件触发线程:
当事件符合触发条件被触发时,该线程会把对应的事件回调函数添加到任务队列的队尾,等待 JS 引擎处理。
定时器触发线程:
浏览器定时计数器并不是由 JS 引擎计数的,阻塞会导致计时不准确。
开启定时器触发线程来计时并触发计时,计时完成后会被添加到任务队列中,等待 JS 引擎处理。
http 请求线程:
http 请求的时候会开启一条请求线程。
请求完成有结果了之后,将请求的回调函数添加到任务队列中,等待 JS 引擎处理。
JavaScript引擎一直等待着任务队列中任务的到来.由于单线程关系,这些任务得进行排队,一个接着一个被引擎处理

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP成都研究院Sunshine:我的C4C实习感受和保研之路
SAP成都研究院Sunshine:我的C4C实习感受和保研之路
3 0
云ESC使用体验
云服务器使用流程,用云服务器搭建网站
7 0
不同编程语言在发生stackoverflow之前支持的调用栈最大嵌套层数
不同编程语言在发生stackoverflow之前支持的调用栈最大嵌套层数
3 0
CSS实现背景颜色循环播放效果
颜色的循环播放效果应该如何去实现呢,细想下来,其实不需要用什么高端的技术,只需要使用css基本的animation动画效果就可以办得到,网上也有很多例子,接下来我们来看看这其中是如何实现吧。
5 0
SAP成都研究院飞机哥: SAP C4C中国本地化之微信聊天机器人的集成
SAP成都研究院飞机哥: SAP C4C中国本地化之微信聊天机器人的集成
3 0
Angular和SAP C4C的事件处理队列
Angular和SAP C4C的事件处理队列
5 0
飞天计划使我在ecs服务器上遨游
因为最近有个搭建博客的需求,了解了在github上搭建的方法后感觉响应速度有点慢,最后选择购买服务器进行个人博客的搭建。
17 0
SpringMVC教程4[服务器端校验]
SpringMVC教程4[服务器端校验]
4 0
SAP Cloud for Customer Cloud Application Studio的一些使用技巧(持续更新)
SAP Cloud for Customer Cloud Application Studio的一些使用技巧(持续更新)
3 0
SAP成都研究院大卫哥:SAP C4C中国本地化之微信小程序集成
SAP成都研究院大卫哥:SAP C4C中国本地化之微信小程序集成
3 0
+关注
32
文章
115
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载