我对浏览器的浅微认知

427 阅读1分钟

作为前端天天和浏览器打交道,怎么能不对其有所了解呢?这两天看了一些浏览器相关的文章,现在简单总结下自己的理解。

浏览器架构

  • 我们把浏览器分为8个部分,用户界面,浏览器引擎,渲染引擎,网络模块,JS引擎(v8),XML解释器,显示后端,数据持久化

  • 渲染引擎和JS引擎处于不同线程,同时这两个线程是互斥的,不能同时运行(保证DOM渲染正常)

  • 浏览器的不同TAB页属于不同进程,避免页面崩溃相互影响

  • CPU 是计算机逻辑处理,数据运算的核心,GPU 相对于 CPU,专为图形渲染中的数学和几何运算设计,使用 GPU 绘制动画更高效(GPU硬件加速的原理)

补充:进程和线程的区别

  • cpu

CPU 类比为一座工厂,可以处理不同的任务(多进程)。

  • 进程

进程是个车间,处理单一任务,其有独立的场地(内存)。

  • 线程

线程是工人(多线程),共享资源(内存),当资源有限(厕所)无法同时使用时候需要上锁(线程锁)。

参考


欢迎来前端菜鸟群一起摸鱼划水~516913974