一个较大的软件一般是多个进程, 每个进程下有多个线程, 如浏览器, 如界面渲染线程,浏览器事件触发线程,Http请求线程等。浏览器中很多异步行为都是由浏览器新开一个线程去完成的

容易理解的几个chrome 进程:

每个页面有一个渲染进程 Renderer Process

但是会根据计算机资源限制进程最大量

每个渲染进程都有一个主线程

解析DOM\CSSOM\执行JS等操作

每个渲染进程都有0个或多个Worker threads

用以并行运行JS 任务, 避免主线程阻塞

每个渲染进程都会有用来绘制页面的线程

Compositor thread \ Raster thread

整个浏览器用一个 Browser Process

地址栏\书签\前进后退\隐身模式\网络请求\文件访问等

还要与渲染进程通信

整个浏览器用一个 GPU Process

把浏览器整个表象绘制到显示设备上

扩展程序也是单独的进程

chrome 的Task Manager 可以直观的看到有哪些进程

shift+Esc

深入了解现代浏览器