线程和进程

进程:一个进程就是一个程序的运行实例
线程:线程是依附于进程的
1EC6B076-17B1-412D-8400-B1E6804C65BF.png
进程和线程之间的关系有以下 4 个特点

  1. 进程中的任意一线程执行出错,都会导致整个进程的崩溃。
  2. 线程之间共享进程中的数据。
  3. 当一个进程关闭之后,操作系统会回收进程所占用的内存。
  4. 进程之间的内容相互隔离。

浏览器发展历史

单进程浏览器

单进程:单进程浏览器是指浏览器的所有功能模块都是运行在同一个进程里
单进程存在不稳定、不流畅、不安全的问题
CB8C28D8-5F23-46EC-9568-7A499200AD01.png

早期多进程架构

F93A1111-36BF-408A-9B18-6CD33B99B283.png

目前多进程架构

2B92B0CB-E0C8-4105-889B-241F28C42CB3.png
最新的 Chrome 浏览器包括:1 个浏览器(Browser)主进程、1 个 GPU 进程、1 个网络(NetWork)进程、多个渲染进程和多个插件进程

存在的问题

  • 更高的资源占用
  • 更复杂的体系架构

未来面向服务的架构

C20304A8-8F74-4007-A722-8B5AA1E116AC.png

原来的各种模块会被重构成独立的服务(Service),每个服都可以在独立的进程中运行,访问服务(Service)必须使用定义好的接口,通过 IPC来通信,从而构建一个更内聚、松耦合、易于维护和扩展的系统