浏览器原理

浏览器进程

  1. 主进程 只有一个,负责调度主控整个浏览器
  2. 插件进程 每个插件都有一个进程,只在插件被调用的时候创建
  3. GPU进程 只有一个,负责 3d 绘制
  4. 渲染进程 通常每个标签页一个,负责网页的渲染、脚本的执行和事件的处理等

浏览器渲染进程

  1. GUI 线程 负责页面的构建和渲染,当页面需要被绘制的时候就会启动这个线程,要注意的是该线程和 JS 引擎线程是互斥的,不能并行执行
  2. JS 引擎线程 负责解析和执行 JS 脚本,因为他和GUI线程的互斥性,所以 JS 代码是会导致页面渲染不连贯的,也就是常说的阻塞页面渲染
  3. 事件触发线程 归属于浏览器,而不是 JS 引擎,他主要就是控制事件循环,将一系列的任务加入一个队列等 JS 引擎空闲下来后去执行
  4. 定时器线程 管理定时器的计时,等时间到了就把事件推入任务队列,等待 JS 引擎执行
  5. HTTP 请求线程 每发送一个请求就会开启一个新的线程,等待响应后把回调函数推入任务队列,等 JS 引擎执行。
发布于

2024-01-14

更新于

2024-01-14

许可协议

评论

:D 一言句子获取中...

加载中,最新评论有1分钟缓存...