标签:游览器 min 引擎 运行 数据集 调度 ima pre tab页
计算机的核心,其负责承担计算机的计算任务(可以比喻为一个工厂)。
CPU资源分配的最小单位,是能拥有资源和独立运行的最小单位。(可以比喻为工厂车间,是一个工厂任务的环节)任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。
CPU调度的最小单位,是建立在进程基础上的一次程序运行单位,属于单个的程序执行流,是一个进程中代码的不同执行路线。(可以比喻为一个车间的工人组成的一个个任务小组,不同的执行流,协同完成一个任务)
一个进程中可以拥有多个线程,同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源。虽然不同进程之间也可以通信,不过代价较大。(可以在电脑的任务管理器中查看进程)
1.Browser进程收到用户请求,首先需要获取页面内容,随后将该任务通过RendererHost接口传递给Render进程。
2.Renderer进程的Renderer接口收到消息,简单解释后,交给渲染线程,然后开始渲染。
3.渲染线程接收请求,加载网页并渲染网页,这其中可能需要Browser进程获取资源和需要GPU进程来帮助渲染。
4.当然可能会有JS线程操作DOM(这样可能会造成回流并重绘)
5.最后Render进程将结果传递给Browser进程
6.Browser进程接收到结果并将结果绘制出来
WebWorker——运行在web后台的线程,相当于js引擎向浏览器申请开一个子线程,由浏览器所开的,完全受主线程控制,而且不能操作dom
SharedWorker——是浏览器所有页面共享的,不能采用与Worker同样的方式实现,因为它不隶属于某个Render进程,可以为多个Render进程共享使用
WebWorker与SharedWorker本质上就是进程和线程的区别,SharedWorker由独立的进程管理,WebWorker只是属于render进程下的一个线程
标签:游览器 min 引擎 运行 数据集 调度 ima pre tab页
原文地址:https://www.cnblogs.com/kanyu/p/9829555.html