ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Chrome浏览器多进程架构

2022-06-11 19:02:26  阅读:208  来源: 互联网

标签:插件 架构 Chrome 线程 进程 浏览器 页面


进程与线程

进程是一个程序的运行实例。
启动一个程序的时候,操作系统会为这个程序分配内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样一个环境叫做进程。当一个进程关闭之后,程序会回收进程的内存

线程依附于进程,线程由进程启动管理
进程中的任意线程崩溃,都会引起进程崩溃
线程之间可以共享进程的数据,多线程是开启并行运算的基础

传统的单进程架构的缺陷

单进程浏览器架构即所有模块都如网络线程、页面线程(JavaScript运行环境、渲染引擎、标签页、插件)等都运行在单进程里,导致浏览器非常不稳定容易崩溃,而且所有页面的渲染模块、JavaScript执行环境以及插件都是运行在同一个页面线程中的,任一时刻只有其中一个模块能运行。Web视频、Web游戏都是通过插件提供的,任意一个线程的崩溃都会引起浏览器的崩溃

因此,传统浏览器单进程架构最大的缺点就是不稳定、不流畅

Chrome浏览器多进程架构

打开浏览器(默认一个标签页)会有几个进程?
4-5个

  • 浏览器进程 Browser Process
    主要负责页面显示、用户交互、子进程管理,同时提供存储等功能

  • 网络进程 NetWork process
    主要负责页面的网络资源加载

  • GPU进程 GPU process graphics processing unit
    绘制UI界面,GPU的使用初衷是为了实现3D CSS的效果

  • 渲染进程 Render Process即当前标签页进程
    转换HTML、CSS、JS为用户可与之交互的网页,排版引擎Blink, JS引擎V8都是运行在该进程中
    默认模式下,Chrome会为每个标签页都创建一个渲染进程
    处于安全考虑,渲染进程都是运行在沙箱模式下

  • 插件进程
    可以有多个,取决于浏览器插件数量

多进程架构的优缺点

优点
提高了浏览器的稳定性、流畅性和安全性

缺点
更高的资源占用,各模块之前耦合性高,拓展性差

标签:插件,架构,Chrome,线程,进程,浏览器,页面
来源: https://www.cnblogs.com/ltfxy/p/16366525.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有