【发布时间】:2019-10-12 04:14:09
【问题描述】:
当我看到 Google Chrome 的任务管理器时,我可以看到几个(每个)选项卡在单个进程下运行,而一组选项卡在单个进程下运行。出于好奇,我想知道为什么它作为多进程而不是多线程运行。引起我注意的一件事是,当它作为单个进程运行并产生多个线程时,可能会有一些限制/缺点,例如,
1) 可以创建的线程数限制
2) 当单个选项卡变得无响应时,整个应用程序将变得毫无用处,由于某些行为不端的网站,我们必须退出 chrome 并重新启动它。
一些人提到 Chrome 对每个域使用单个进程,但这里似乎并非如此。
我还是不太清楚,
1) Chrome 何时决定生成一个新进程?
2) 在单独的进程下运行单个选项卡的其他优点是什么?
3) 当每个标签在不同进程下运行时,cookie 如何在标签之间共享?这是通过进程间通信发生的吗?如果是,会不会太贵?它会影响其他标签(即网页)的性能吗?
【问题讨论】:
标签: multithreading performance google-chrome process ipc