转载请注明出处:http://blog.csdn.net/yunchao_he/article/details/41695497
Chromium采用多进程构架,以Desktop Chromium为例,它包括一个Browser Process(也称为UI Process), 一个或多个Render Process(也称为Web Process), 零个或一个GPU Process, 以及一个或多个NPAPI Plugin Process, 一个或多个Pepper Plugin Process.
也就是说,当你用Chrome浏览器打开多个网站(比如同时打开网易,人人网,bbs,淘宝),且每个网站可能对应多个tab(比如网易打开了一则头条,一则财经新闻,一则体育新闻,而淘宝则打开多个购物窗口买衣服,从而进行对比),这时系统对应着一个Browser进程,以及(默认情况下)多个Render进程,可能还有一个GPU进程,以及数量不等的plugin进程。这可以通过相应的工具查看,比如Windows下的任务管理器。
而各进程可能包含多个线程,比如Browser 进程包括主线程,compositor线程,I/O线程,一个或多个资源下载线程,文件操作线程,等等众多线程。其中主线程负责发起网络请求,调用Render进程开始解析HTML和执行JS,接收并响应用户操作(比如用户拖动滚动条)等等。compositor线程负责将网页内容和浏览器的窗口部件进行合成,从而形成最终要显示的像素。
Render进程则包括主线程,compositor线程,raster线程等。其中,主线程负责执