浏览器采用多进程架构的有:chrome、maxthon3等。采用多进程架构到底有何益处:
1.将插件放到单独的进程
* 插件崩溃不会影响到浏览操作,该目标看起来容易实现,实际效果受实际处理逻辑限制。
* NP插件的接口非常底层,浏览器和插件的交互都是通过函数指针调用。而开发flash应用的人是不会关心实际flash的插件实现的。
许多情况下flash插件会删除自己本身---对于单进程来说是很危险的。采用单独的插件进程,插件运行在另外一个进程中。删除自身只会释放插件进程。
不会破坏浏览器堆栈帧(可以用chrome的单进程模式跑插件的页面时,非常容易崩溃)。
2.标签页可以在独立进程
* 各个标签的操作互不影响,这是最简答的好处。
* 关闭标签时,及时回收垃圾。除了IE的JScript引擎外,大多数的JavaScript引擎的垃圾回收的效率和效果较难折中。采用单独的进程,则通过进程的释放
3.安全性
* sandbox化的基本单元就是进程。
不足:
内存占用较大,对于较低配置的机器而言,长时间浏览会导致整个系统变慢甚至失去响应。