每次我在 Mac 上的 Chrome 中加载浏览器标签时,应用程序都会创建另一个进程。这似乎与 Firefox 或 Safari 的工作方式不同。Google 在这种情况下远离多线程的原因是什么?这里要解决的问题(一次渲染多个页面在我看来似乎是多线程的主要候选者,或者?
问问题
9166 次
1 回答
11
在单独的进程中运行每个页面(或选项卡)允许 Chrome 提供更多的安全性来防止页面呈现错误,以及在进程中运行的浏览器插件。基本上,如果一个页面崩溃,它不会影响其他选项卡。相反,你会得到一个“Aw Snap!” 信息。
从文档:
我们为浏览器选项卡使用单独的进程,以保护整个应用程序免受渲染引擎中的错误和故障的影响。我们还限制每个渲染引擎进程对其他进程和系统其余部分的访问。在某些方面,这给网页浏览带来了内存保护和访问控制给操作系统带来的好处。
于 2013-06-24T05:16:58.990 回答