Chrome浏览器
-
Browser Process(主进程)
1.负责地址栏,标签栏,前进后退按钮等工作;
2.负责浏览器的一些底层操作,例如文件系统,网络请求等;
按照作者的说法,是去协调其他子进程。 -
renderer Process (渲染进程)
负责一个tab页内的关于网页呈现的所有工作;
renderer 进程可以有多个,一般情况下,新开一个tab标签,都会有一个renderer子进程生成; -
Plugin Process (插件进程)
负责控制浏览器用到的插件,比如flash; -
GPU Process
负责GPU相关的工作,图形图像的渲染;
Chrome浏览器很NB的一个特性:
根据硬件设备的情况,决定把不同的任务分配不同的线程,或者合并到同一线程中使用;
浏览器中输入关键字或者url之后发生了什么?
首先,Browser Process下分为多个线程
- UI tread 控制浏览器上的按钮及输入框
- network tread 处理网络请求,获取数据
- stroage tread 控制文件访问
—分割线—
- 用户输入内容之后,UI tread要去判断,当前用户的输入是一个url还是query(关键字);
- 当用户点击回车之后,UI tread 通知network tread 获取网页上的内容&#x