线程和进程
并行处理:计算机同一时刻处理多个任务,简化任务执行步骤,提升性能
进程
- 一个进程就是一个程序的运行实例
程序启动时,操作系统创建内存,存放代码、数据、文件和执行任务的线程。
整一个运行环境为进程。
线程
- 进程中的任务执行过程
线程 vs 进程
- 线程依赖于进程,进程使用多线程可以提升性能
- 一个线程的出错,会导致整个进程的奔溃
- 线程共享进程的数据
- 进程关闭,申请的内存全部被回收
- 进程与进程间相互不影响
浏览器进化史
单进程浏览器时代
浏览器所有功能模块都在同一个进程里运行
模块:网络、插件、JS运行环境、页面渲染等
- 问题
- 不稳定
- 不流畅
- 不安全
多进程浏览器时代
- 早期多进程架构
分成多个进程,如:主进程、插件进程、渲染进程等,每个进程负责各自的功能模块
- 目前多进程架构
增加了网络进程、GPU进程
- 问题
- 资源占用高
- 体系架构复杂
- 未来面向服务架构
模块重构成独立的服务,每个服务都可以在独立进程中运行
学习资料
李兵:《01丨Chrome架构:仅仅打开了1个页面,为什么有4个进程》