浏览器是一个多进程多线程的应用程序,浏览器内部工作极其复杂。

为了避免相互影响,为了减少连环崩溃的几率,当浏览器启动后,自动启动多个进程。

事件循环

浏览器的进程模型

何为进程

image.png

浏览器的任务管理其中查看当前的所有进程

浏览器进程:界面展示,用户交互,点击滚动,子进程管理

image.png

网络进程:负责加载网络资源

渲染进程:

渲染进程启动后,会开启一个渲染主线程。负责html/css/js代码

默认情况下,浏览器会为每一个标签页开启一个新的渲染进程,保证不同标签页之间不相互影响

渲染主线程是如何工作的

最烦忙的线程

  1. 解析html
  2. css
  3. 计算样式
  4. 布局