美文网首页
浏览器线程

浏览器线程

作者: panergongzi | 来源:发表于2020-10-08 15:09 被阅读0次

进程和线程的区别

进程有独立的内存空间,进程之间相互独立,不同进程间可以通过IPC协议进行通信

进程由一个或者多个线程组成,线程是进程的基本单位

同一进程的多个线程可以相互通信,状态共享

进程是CPU资源分配的最新单位,线程是CPU调度的最小单位

浏览器进程和线程

常见的浏览器进程

1,浏览器主进程

负责浏览器界面显示,与用户交互,如前进,后退等

负责各个页面的管理,创建,和销毁其他进程

将Renderer进程得到的内存中的Bitmap,绘制到用户界面上

网络资源的管理,下载等

2,GPU进程

用于3D绘制等

3,第三方插件进程

每种类型对应一个进程,仅当使用该插件时才创建

4,浏览器渲染进程

也叫浏览器内核,主要作用:页面渲染,脚本执行,事件处理等。

renderer进程主要包含的线程

(1)GUI渲染线程

负责渲染浏览器界面,如解析hrml,css,构件DOM树和RenderObject树,布局和绘制等

当界面需要重绘或者某种操作引发回流时,改线程执行

注意:GUI线程与JS引擎线程是互斥的,当JS引擎执行时GUI线程会被挂起,GUI更新会保存在一个队列种等到JS引擎空闲时被立即执行。

(2)JS引擎线程

处理javascript脚本程序,解析javascript脚本,运行代码

(3)事件触发线程

该线程归属浏览器,控制事件循环,比如执行鼠标点击,AJAX异步请求等时会将对应任务添加到事件触发线程中

当对应的事件符合触发条件被触发时,该线程会把事件添加到待处理队列的队尾,等待JS引擎的处理

(4)定时器触发线程

即setInterval与setTimeout所在线程

使用单独线程来计时并触发定时器,计时完毕后,添加到事件队列中,等待JS引擎执行。

(5)异步http请求线程

XMLHttpRequest连接后通过浏览器开一个线程请求

检测到状态变更时,如果设置有回调函数,异步线程就产生状态变更事件,将回调函数放入事件队列中,等待JS引擎空闲后执行

浏览器的线程和进程 - 简书转自

相关文章

  • 浏览器内核多进程机制

    1.浏览器内核常驻线程 浏览器 GUI 渲染线程 JavaScript 引擎线程 浏览器定时触发器线程 浏览器事件...

  • 浏览器渲染引擎

    一.加载 浏览器的五个常驻线程: 浏览器 GUI 渲染线程 javascript 引擎线程 浏览器定时器触发线程(...

  • 事件循环

    浏览器渲染进程 浏览器的渲染线程大概有以下几种:(1)GUI线程;(2)JS引擎线程;(3)事件触发线程;(4)定...

  • 01.JS执行机制

    浏览器常驻线程 我们常说JS是单线程,但是浏览器中包含了很多线程-- js引擎线程(解释执行js代码,用户输入,网...

  • js有趣的事件循环

    进程&线程 浏览器是多线程的,JS是单线程的(浏览器只分配一个线程来执行JS) 进程大线程小:一个进程中包含多个线...

  • js同步异步编程(2)

    js中的同步异步编程 > 浏览器是多线程的,JS是单线程的(浏览器之分配一个线程来执行JS) > 进程大线程小: ...

  • 浏览器JS运行机制(线程)

    浏览器常驻线程 浏览器的内核是多线程的,它们在内核制控下相互配合以保持同步,一个浏览器至少实现三个常驻线程:jav...

  • 浏览器内核多进程机制

    前言 大家都知道js是基于单线程的,而这个线程就是浏览器的js引擎。但是浏览器内核是多线程,在内核控制下各线程相互...

  • 浏览器渲染页面

    浏览器的工作机制 浏览器包含渲染引擎(也称浏览器内核)和 JavaScript 引擎,它们都是单线程运行。单线程的...

  • 2018-03-19

    浏览器内核包含哪些线程 答:GUI线程、js引擎线程、事件触发线程、网络请求线程、(定时器触发线程) GUI线程是...

网友评论

      本文标题:浏览器线程

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