01宏观视角下的浏览器——打开一个页面,为什么会有4个进程

1.进程和线程

2.目前多进程架构

1.进程和线程

1-1 什么是并行处理?
A = 1+2
B = 20/5
C = 7+8

单线程(四步):

  1. 任务1 计算 A = 1+2
  2. 任务2 计算 B = 20/5
  3. 任务3 计算 C = 7+8
  4. 任务4 显示最后的计算结果

多线程(两步):

  1. 使用三个线程同时执行前三个任务
  2. 执行第四个显示任务

使用并行处理能大大提升性能

1-2 线程 VS 进程
  • 线程:线程是不能单独存在的,它是由进程来启动和管理的
  • 进程:一个进程就是一个程序运行的实例。启动一个进程的时候,操作系统会为该程序创建一块内存用来存放代码、运行中的数据和一个执行任务的主线程

线程和进程之间的关系有以下特点

  1. 当程序中的任一线程执行出错,都会导致整个程序的崩溃。
A = 1+2
B = 20/0  // 出错
C = 7*8
  1. 线程之间共享进程中的数据
    在这里插入图片描述
  2. 当一个进程关闭之后,操作系统会回收进程所占用的内存
  3. 进程之间的内容相互隔离。

2.目前多进程架构

  1. 1个浏览器进程:主要负责界面显示、用户交互、子进程管理,同时提供存储等功能
  2. 多个渲染进程:核心任务是将HTML、CSS和JavaScript转换为用户可以与之交互的网页,包含排版引擎Blink和JavaScript引擎V8,每个Tab标签创建一个渲染进程。
  3. GPU进程:初衷是为了3D CSS的效果,虽有网页、chrome的UI界面都选择采用GPU绘制
  4. 网络进程:主要负责页面的网络资源加载,之前作为一个模块运行在浏览器进程。
  5. 插件进程:主要负责插件的运行,因插件容易崩溃,需要进程隔离,以保证插件崩溃不会队浏览器和页面造成影响。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值