进程和线程
进程
- 一个进程就是一个程序的运行实例。
- 在启动一个程序的时候,计算机的操作系统会为程序分配一块内存空间,用于存放代码、运行中的数据和一个执行任务的主线程,这样的一个运行环境就是一个进程。
-
线程
-
并行处理
计算机并行处理就是计算机能(至少看上去似乎是)同时处理多个任务。使用并行处理能够大大提升性能。
例如,对于以下几个任务
任务1:a = 1 + 2;
任务2:b = 3 * 4;
任务3:c = 5 - 6;
任务4:d = a + b + c;
如果使用单线程来计算,要分四个步骤执行这些任务,首先计算a,然后计算b,再计算c,最后将三者相加计算出d的值。
- 但是,如果使用并行处理的话,只需要两个步骤。第一个步骤是同时用三个线程分别执行任务123,第二个步骤是执行任务4。
- 单线程中需要四步才能完成的东西,使用多线程只需要两步!
进程与线程的关系
- 进程中的任意线程出错,都会导致整个进程的崩溃;
- 线程之间共享进程中的数据;进程之间的内容相互隔离;
Chrome多进程架构
这里探讨的是较新版本的Chrome的多进程架构
Chrome多进程
浏览器主进程(Browser)
-
渲染进程
将HTML、CSS、JavaScript转换成用户可以与之交互的网页;
GPU进程
-
网络进程
-
插件进程
负责插件的运行。(将插件隔离以减少插件的崩溃对浏览器的影响);
优缺点
优点
-
缺点
更高的资源占用和更复杂的体系结构;