事件循环

chrome浏览器进程

浏览器进程
界面显示 用户交互 子进程管理 提供储存功能

渲染进程
将HTML CSS JS转换为用户交互的页面
排版引擎Blink JS引擎V8 运行其中
非同源网站,每个Tab一个渲染进程
安全考虑,渲染进程运行在沙箱模式下

线程 职责
GUI渲染线程 解析HTML,CSS,构建DOM树
JS引擎线程 JS内核,等待任务队列的任务,处理JS脚本,与GUI线程互斥
事件触发线程 JS事件绑定,JS异步操作,浏览器事件如鼠标点击,将其回调添加事件队列
定时触发器线程 setTimeout,setTimeout,低于4ms的时间间隔算为4ms
异步http请求线程 http请求,等返回结果将回调函数推入任务队列

GPU进程
初衷是为了实现3D CSS 效果
随后 UI界面都采用 GPU来绘制

网络进程
负责网络资源的加载
之前只是作为 浏览器进程 的一个模块

插件进程
插件易崩溃,通过插件进程来隔离,保证不对浏览器和页面造成影响

node 事件循环

待填坑

「硬核JS」一次搞懂JS运行机制