美文网首页
浏览器渲染之五大线程

浏览器渲染之五大线程

作者: _静夜听雨_ | 来源:发表于2023-10-26 15:46 被阅读0次
浏览器的渲染进程,包含5个线程

1 、GUI 渲染线程

负责浏览器页面渲染,解析html,css,构建Dom树,构建css树,页面绘制;
与JS引擎进程互斥;

2、JS 引擎线程

负责解析js脚本,运行代码,每一个tab页只有一个js引擎线程执行js。如果js线程执行时间过长,会造成页面渲染不连贯,阻塞页面渲染

3、事件触发线程

用来控制事件循环,当js执行setTimeout代码片段等(也可是来自浏览器内核的其他线程,如鼠标点击、AJAX异步请求等),会将对应任务放入事件触发线程中,当对应的事件符合触发条件时,该线程会把对应事件放到待处理队列,等待js引擎空闲时处理

4、定时器 触发线程 ,即setTimeout, setInterval计时器

浏览器计数并不是js引擎来完成,因为js是单线程的,如果来完成计数,不能保证计数的准确性,所以由专门 定时器线程来进行计数,并触发定时器,计时完毕后,添加到事件队列中,等待js引擎空闲时执行。
所以定时器的任务在设定的时间点并不一定准时执行,定时器只是在指定的时间点把任务添加到事件队列。

5、异步 http请求线程

XMLHttpRequest 连接后通过浏览器新开一个 http请求线程,当检测到状态变更时,如果设置有回调函数,异常线程就产生状态变更事件,把回调函数添加到事件队列中,等待js引擎空闲时执行

相关文章

  • 事件循环

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

  • 浏览器内核多进程机制

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

  • 浏览器渲染引擎

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

  • 事件循环 分析

    1.浏览器常驻线程 GUI渲染线程:负责渲染页面,与JavaScript引擎线程互斥,即JavaScript引擎线...

  • 浏览器线程

    浏览器是多线程的,但是JS是单线程的。 GUI渲染线程 负责渲染浏览器界面,解析HTML,CSS,构建DOM树和R...

  • 2019-04-29 JavaScript的事件队列

    浏览器的渲染进程 浏览器的渲染进程(默认每个Tab页面一个渲染进程,互不影响)是多线程的,这个进程有以下主要线程:...

  • 一、五大浏览器及其内核

    1. 五大浏览器 2.五大内核 3. 各个浏览器所用内核 4. 浏览器渲染引擎和js引擎

  • Javascript的循环机制

    总结: 浏览器是多进程的; 其中一个进程是浏览器渲染进程;浏览器渲染进程包括多个线程; 其中一个线程是 JS引擎线...

  • JavaScript 异步

    JS是单线程执行,避免DOM渲染冲突: 浏览器需要渲染DOM; JS可以修改DOM,修改时浏览器会暂停渲染; 两段...

  • 你不知道的JS读书笔记(中)——异步

    基础:浏览器 -- 多进程,每个tab页独立一个浏览器渲染进程(浏览器内核) 每个浏览器渲染进程是多线程的,主要包...

网友评论

      本文标题:浏览器渲染之五大线程

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