美文网首页
浏览器是多进程,包含那些进程

浏览器是多进程,包含那些进程

作者: 马建阳 | 来源:发表于2021-09-20 19:06 被阅读0次

浏览器是多进程,包含那些进程

  • browser进程
  • GPU进程
  • 插件进程
  • 浏览器渲染进程(即浏览器的内核,每个Tab也就是一个进程)

browser进程作用

  • 负责浏览器界面的显示,用户的交互,前进后退等
  • 负责管理各个页面,创建以及销毁
  • 负责网络资源的管理和下载

输入URL主进程(browser)做了什么

  • 查询过程 1 主进程的UI线程判断输入的是URL还是query; 2 UI线程通知storage线程,查浏览器缓存(缓存机制) 3 不用缓存,那么发送请求,那么UI线程通知网络线程,获取网页内容,并控制tab页表示加载中 4 网络线程执行dns查询,随后建立起TSL连接
  • 响应 5 当响应返回的时候,网络线程根据content-type和MIME类型判断 6 如果为HTML,那么将数据传给渲染进程 7 渲染进程开始解析渲染

渲染进程

渲染进程包含那些?

GUI线程

js引擎线程

定时器线程

异步请求线程

  • 最终的图
GUI:二进制的位图
browser: 位图栈格化
GPU: 产生最终的composite交给显示器

v8引擎(Render进程)

  • GUI渲染线程
  • 事件处理线程
  • 定时器线程(SetTimeout..)
  • HTTP线程
  • js引擎线程

GUI渲染线程和js引擎互斥 https://www.yuque.com/mty/here/qy3e42

  • js引擎线程
即主线程,执行完就和事件线程通信
读取任务队列事件,执行

  • GUI线程
• 负责页面渲染,解析 HTML CSS ,构建 DOM 树,进行布局和绘制
• 重绘和回流会执行
• GUI 线程与 JS 引擎互斥

  • 事件触发线程
鼠标点击,异步请求等的回调放入的事件队列就是事件触发线程管理的事件队列
掌管者事件队列
事件任务队列分为: 宏任务队列,微任务队列

执行顺序: 宏任务(1个)--> 微任务(所有事件)

  • http线程
在XMLHttpRequest在连接后是通过浏览器新开一个线程请求

将检测到状态变更(轮询)时,如果设置有回调函数,
异步线程就产生状态变更事件,将这个回调再放入事件队列中。再由JavaScript引擎执行。

管理异步请求和回调函数,异步任务有结果后,把他放进任务队列
但是下载资源还是由浏览器的下载线程执行的

  • 定时器线程
setTimeout的时候,开启定时器线程,用来计时
满足条件后,把事件(回调函数)推进任务队列中

不单独开启这个线程,就会阻塞主线程

相关文章

  • 浏览器是多进程,包含那些进程

    浏览器是多进程,包含那些进程 browser进程 GPU进程 插件进程 浏览器渲染进程(即浏览器的内核,每个Tab...

  • 浏览器的运行机制—2.浏览器都包含哪些进程?

    知道了浏览器是多进程后,再来看看它到底包含哪些进程:(为了简化理解,仅列举主要进程) 1.浏览器都包含哪些进程 B...

  • 浏览器多进程,js单线程以及js运行机制

    浏览器多进程,js单线程以及js运行机制 浏览器都包含哪些进程? 知道了浏览器是多进程后,再来看看它到底包含哪些进...

  • 浏览器

    浏览器包含以下进程(仅列举主要进程) Browser进程:浏览器的主进程(负责协调、主控),只有一个。作用:1.负...

  • js运行机制

    进程与线程 进程是cpu资源分配的最小单位,进程可以包含多个线程。 浏览器就是多进程的,每打开的一个浏览器窗口就是...

  • javascript的事件循环机制eventloop---三分一

    浏览器是多进程 浏览器是多进程的,一个tab页面一个进程,一个进程内包含多个线程。【不懂线程可以看计算机原...

  • 面经考点01

    1、浏览器都包含哪些进程? 1)Browser进程:浏览器的主进程(负责协调、主控),只有一个。作用有: a、负责...

  • 浏览器工作原理与实践--读书笔记

    chrome架构包含 1. 浏览器进程 2. 渲染进程 3. 插件进程 4. gpu进程 5. 网络进程 `. 22f`

  • 浏览器工作原理与实践一

    1. 浏览器架构 就目前chorme浏览器而言,他是多进程的。有一个浏览器主进程,一个GPU进程,一个网络进程,多...

  • 浏览器的进程、线程、Web Worker及Event Loop

    进程和线程 系统会为进程分配cpu和内存每个进程至少包含一个线程不同进程之间也可以通信,不过代价较大 浏览器是多进...

网友评论

      本文标题:浏览器是多进程,包含那些进程

      本文链接:https://www.haomeiwen.com/subject/nflvgltx.html