温习:进程和线程的区别

进程和线程的区别:
1、定义不一样,进程是执行中的一段程序,线程是进程里执行中的任务,一个进程里可以有多个线程。
2、一个线程只能属于一个进程。
3、线程无地址空间,它包括在进程的地址空间里。
4、线程的开销或代价比进程小。
 
浏览器是多进程的。
多进程浏览器:
随着时代的发展,技术的变革,前端的崛起,以往的单进程浏览器肯定是要被淘汰了。
为了解决浏览器安全问题,引入了一个关键的安全技术——沙盒(SandBox)。
沙盒(英语:sandbox,又译为沙箱),计算机术语,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是给一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。
谷歌浏览器最早在2008年发布了多进程浏览器,我们先来看看谷歌多进程浏览器架构:

 

从上图可知,谷歌浏览器刚打开就开启了4个进程。

浏览器主进程:它是整个浏览器的主要进程,其它几个进程都是它的子进程,都由主进程来管理协调,浏览器的窗口,包含地址输入栏,数据缓存、设置等都是由它来管理的。
渲染进程:它的主要任务是负责把html、CSS、javascript转换为可与用户交互的网页,每打开一个标签页就会开启了一个渲染进程,每个渲染进程都会运行单独的排版引擎Blink和V8 Javascript执行引擎。为了代码执行的安全性,渲染引擎会运行在沙盒里。
插件进程:它负责插件的运行工作,插件进程和渲染进程类似,每启动一个插件,都会开启一个插件进程,同样为了安全性,插件进程也运行在沙盒里。
网络进程:它负责网络资源的加载工作,获取html、CSS、javascript等文件。
GPU进程:它负责使用显卡来加速处理计算请求,提高你网页浏览的体验,一般是涉及图形、视频的渲染。

 

 

posted @ 2023-03-19 15:57  菌子乐水  阅读(15)  评论(0编辑  收藏  举报