多线程 – 为什么’Google Chrome Renderer’是多进程的,而不是多线程的?

前端之家收集整理的这篇文章主要介绍了多线程 – 为什么’Google Chrome Renderer’是多进程的,而不是多线程的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
每次我在我的Mac上的Chrome中加载浏览器标记时,该应用程序都会分叉另一个进程.这似乎与firefox或Safari的工作方式不同.谷歌在这种情况下远离多线程的原因是什么?这里要解决的问题(一次渲染多个页面在我看来似乎是多线程的主要候选者,或者?

解决方法

在单独的流程中运行每个页面(或选项卡)允许Chrome提供更高的安全性来防止页面呈现错误,以及在进程中运行的浏览器插件.基本上,如果一个页面崩溃,它不会影响其他选项卡.相反,你会得到一个“Aw Snap!”信息.

docs

We use separate processes for browser tabs to protect the overall application from bugs and glitches in the rendering engine. We also restrict access from each rendering engine process to others and to the rest of the system. In some ways,this brings to web browsing the benefits that memory protection and access control brought to operating systems.

猜你在找的Java相关文章