一、事件环的相关基本概念认知
前言:
Event Loop非常适合在面试中处理一些特别复杂的异步+同步任务程序。
但是我们本身需要了解async await
、promise
、setTimeout
…背后的逻辑道理,清除Event Loop背后这些知识的。
一、进程
1.1 定义及浏览器页面中的进程
进程定义:系统进行资源分配和调度的基本单位。
线程定义:进程内一个相对独立的,可调度的执行单元。
浏览器是一个多进程的应用程序。
每个进程中包含多个线程,线程在进程中运行。
对于浏览器来说:
-
浏览器有一个主进程——>用户界面
-
每个Tab(标签页)都会开启一个进程
-
每个Tab(标签页)各自有独立的:
-
渲染进程(浏览器内核Renderer=渲染引擎)
-
网络进程(网络请求)
-
GPU进程(动画与3D绘制)
例如:css3中translate属性会开启GPU加速
- <
-