浅谈浏览器中的进程


前言

提示:博主学浅,文章仅作学习记录和总结分享,如果有不足的地方欢迎指正。


一、线程与进程

关于查看浏览器进程的方法:

以谷歌浏览器为例,点击右上角,点击更多工具,点击任务管理器:
浏览器进程信息
我们可以发现打开一个百度页面浏览器就开启多个进程,这其中就有浏览器进程渲染进程GPU 进程网络进程插件进程存储进程音频进程。(如果你的谷歌并没有安装任何插件,插件进程并不会启动,而Storage Service和Audio Service在传统的教程中并没有提及到,博主猜测是新版浏览器新加的进程)

我们知道,线程是不能单独存在的,它必须由进程来启动和管理,在处理大量数据时,多线程相较于单线程可以大大提升性能。但凡事都有两面性,在某些情况多线程并不比单线程有优势,线程的切换时需要额外的开销的。

进程与线程之间的关系,大致可以归为如下几点:

1.进程里的任一线程出错,会导致整个进程的奔溃。

2.线程与线程之间可以共享进程中的数据。

3.进程与进程之间时相互隔离的。

4.进程关闭,所占用的内存会被操作系统回收。


二、单进程浏览器

话说回到那个浏览器远古时代,浏览器基本采用的是单线程的模式,即浏览器的所有功能模块都是运行在同一个进程里。这也导致了有时因为某一个页面卡顿导致整个浏览器奔溃的情况。

而单线程浏览器不好的地方有以下几点:

1.不安全,不法分子可以在一个页面利用脚本去操作获取另一个页面的信息。

2.不流畅,如果一个页面的脚本执行占用了,这会导致其他页面的响应卡顿等问题。


三、多进程浏览器

新版浏览器划分了多个模块进程,各个进程各司其职,某一进程的奔溃一般情况并不会导致浏览器的奔溃。因为进程之间相互隔离。对于安全性的问题,多进程架构的额外好处是可以使用安全沙箱机制,而安全沙箱的好处是沙箱内的程序并不能去对系统进行读写操作,有利于用户的系统安全。

就目前的多进程浏览器,每一个进程都有自己独立的功能,这提升了浏览器的稳定性和安全性。但我们也必须清楚,多进程带来的是更高的资源占用。


总结

我们需要了解浏览器各个进程模块功能,这有利与理解页面的渲染原理和事件循环机制。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值