如何深入理解JavaScript浏览器事件循环的工作原理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2399个文字,预计阅读时间需要10分钟。
首先明确一些基本概念。进程和线程是操作系统中的核心概念。
进程是系统进行资源分配和调度的基本单位,是系统分配资源的独立实体。每个进程都有自己的地址空间、数据段、堆栈等资源。进程是系统分配CPU资源的基本单位,是程序执行的一个实例。
线程是进程中的一个实体,被系统独立调度和分派的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。
简单来说,进程是程序的运行实例,而线程是进程中的执行单元。一个进程可以包含多个线程,它们共享进程的资源,但各自独立执行。线程是轻量级的进程,可以更高效地实现并发执行。
先来明白些概念性内容。
进程、线程
进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。
线程是进程的执行流,是CPU调度和分派的基本单位,同个进程之中的多个线程之间是共享该进程的资源的。
浏览器内核
浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程(也不一定,因为多个空白 tab 标签会合并成一个进程),浏览器内核(浏览器渲染进程)属于浏览器多进程中的一种。
浏览器内核有多种线程在工作。
GUI 渲染线程:
- 负责渲染页面,解析 HTML,CSS 构成 DOM 树等,当页面重绘或者由于某种操作引起回流都会调起该线程。
本文共计2399个文字,预计阅读时间需要10分钟。
首先明确一些基本概念。进程和线程是操作系统中的核心概念。
进程是系统进行资源分配和调度的基本单位,是系统分配资源的独立实体。每个进程都有自己的地址空间、数据段、堆栈等资源。进程是系统分配CPU资源的基本单位,是程序执行的一个实例。
线程是进程中的一个实体,被系统独立调度和分派的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。
简单来说,进程是程序的运行实例,而线程是进程中的执行单元。一个进程可以包含多个线程,它们共享进程的资源,但各自独立执行。线程是轻量级的进程,可以更高效地实现并发执行。
先来明白些概念性内容。
进程、线程
进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。
线程是进程的执行流,是CPU调度和分派的基本单位,同个进程之中的多个线程之间是共享该进程的资源的。
浏览器内核
浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程(也不一定,因为多个空白 tab 标签会合并成一个进程),浏览器内核(浏览器渲染进程)属于浏览器多进程中的一种。
浏览器内核有多种线程在工作。
GUI 渲染线程:
- 负责渲染页面,解析 HTML,CSS 构成 DOM 树等,当页面重绘或者由于某种操作引起回流都会调起该线程。

