Skip to content

进程和线程

进程和线程定义

进程:是 cpu 分配资源的最小单位,进程之间不会共享资源。

线程:是 cpu 调度的最小单位,一个进程可以有多个线程,多个线程之间共享资源。

浏览器包含的进程

  • brower进程:浏览器主进程、负责界面显示、用户交互,创建和销毁的进程,网络资源下载
  • gpu进程:用于 3d 绘制
  • 第三方插件:管理插件的进程
  • 浏览器渲染进程:由浏览器内核提供,默认是多线程,负责页面渲染,脚本执行,事件处理
    • gui线程
      • 渲染页面,解析 html、css、dom,布局和绘制页面
      • 重绘和回流时该线程执行
      • 与js引擎相互排斥,js执行时,gui进入阻塞状态,直到js执行完毕,才回到gui线程继续执行
    • js线程
      • 执行js代码,包括dom操作
      • 一直处于等待状态,直到gui线程执行完毕,才回到js线程继续执行(有js脚本优先执行)
    • 事件触发线程
      • 用于控制事件循环
    • 定时器线程
      • 用于控制定时器
    • 异步请求线程
      • 用于控制异步请求