为什么Chrome有这么多开放流程?

2012-09-11_121529

如果您在运行Google Chrome时曾经看过任务管理器,您可能会惊讶地发现chrome.exe条目的数量远远超过您打开的实际Chrome窗口数。 所有这些过程的处理是什么?

今天的问答环节由我们感谢SuperUser - Stack Exchange的一个分支,这是一个社区驱动的Q&A网站分组。

问题

如果你对所有看似重复的Chrome进程感到好奇,你并不孤单。 超级用户阅读器Pol​​yShell真的想要达到底层的东西:

在Windows任务管理器中,似乎我有多个Chrome进程正在运行,即使我只有一个Chrome窗口打开。

这怎么可能? 我一直认为每个开放的程序代表一个过程。

虽然单个chrome.exe进程的绝对数量初看起来令人困惑,有一个完美的解释洪水。

答案

几个超级用户贡献者回答了这个问题。 Jeff Atwood提供了对Chrome开发博客的参考:

您可以在这里阅读详细信息:

Google Chrome利用这些属性,将网络应用和插件放在与浏览器不同的进程中。 这意味着一个Web应用程序中的渲染引擎崩溃不会影响浏览器或其他Web应用程序。 这意味着操作系统可以并行运行Web应用程序以提高响应速度,这意味着如果特定的Web应用程序或插件停止响应,浏览器本身不会锁定。 这也意味着我们可以在限制性沙箱中运行渲染引擎进程,如果漏洞被发生,它有助于限制破坏。

基本上,每个选项卡有一个进程,除非选项卡来自同一个域。 渲染器自身有一个进程。 每个插件将有一个,因此每个扩展是活动的。

KronoS共享一个技巧来检查Chrome中的进程,代替更神秘的任务管理器读出:

你可以看到哪个进程做什么:

菜单 - >工具 - >任务管理器

其中看起来像这样:

2012-09-11_122455

Deizel为视觉学习者提供助手:

不要忘了阅读Chrome介绍漫画 ,涵盖了这一点以及其他设计决策。

Untitled-1

整个Chrome漫画是值得一读的Chrome风扇,因为它解释了许多其他设计选择涉及到浏览器的生产。


有什么东西添加到解释? 声音在评论中。 想要阅读更多的技术精明的Stack Exchange用户的答案? 查看完整的讨论话题在这里

赞 (0)
分享到:更多 ()