当前位置: 代码迷 >> C# >> 运作Chrome后为什么会出现几个相同google chrome
  详细解决方案

运作Chrome后为什么会出现几个相同google chrome

热度:63   发布时间:2016-05-05 04:47:22.0
运行Chrome后为什么会出现几个相同google chrome?
chrome启动后在任务管理器中会出现几个相同的chrome:

google 为什么会采用多个chrome进程而不是使用多线程呢?有人说一个线程崩毁了,整个进程就死掉了。
难道google只是基于这点来实现chrome的吗?可是IE启动后在任务管理中就只有一个进程。
可以解答下这些疑问吗?多谢

------解决思路----------------------
这是多进程浏览器,
------解决思路----------------------
引用:
google 为什么会采用多个chrome进程而不是使用多线程呢?


你根据哪点判断 chrome 不是多线程的?一个chrome 进程往往占用30以上线程,更多进程占用更多线程,你没有看到吗?
------解决思路----------------------
多进程更稳定,不过代价就是内存开销更大。Chrome里面可以使用 Shift + Esc 快捷键查看/终止进程对应的页面/插件。

浏览器这种应用需要加载插件、扩展等等很多第三方的东西,它并不能保证这些东西能够很稳定的运行,比如Flash。还有一些网页的js可能有问题,会执行很长时间,需要能够安全的被终止。如果单进程这些插件不稳定就很可能导致整个浏览器崩溃,也没有安全的方式终止js的执行(终止线程是不可控的),这些时候用户会抱怨浏览器而不是插件,所以多进程是一个比较理想的方式。
------解决思路----------------------
这就是为什么chrome 要比 ie 快的原因..
------解决思路----------------------
他们采用的策略不同拉~
多进程 消耗更多的内存  来保证A标签页崩溃了 不会影响到B标签页

IE诞生的年代内存很贵
chrome诞生的年代内存已经是白菜价了

另外 你应该有看过google其实是打算把chrome设计成系统的
也就是chrome book 上网本什么的,以后一切都靠浏览器搞定就可以了
一个标签页做word的事情, 另外一个标签页做excel的事情,还有一个页面播放音乐
所以保证一个标签页不会影响到另外一个标签页 是很重要的
------解决思路----------------------
楼主的IE什么版本的, 我的IE11也是与CHROME一样的,楼主有没有发现,标签可以拖动变成一个独立窗口呢?也可以拖动合并,要实现这样的功能,必须用不同的进程的.
------解决思路----------------------
因为即使是多线程,必然还存在一个主线程,主线程崩溃了,那么程序也就整个崩溃了
而多进程,一个进程崩溃了,不会影响另一个进程
------解决思路----------------------
而且操作系统对单个进程的内存占用和CPU开销是有限制的,不会让某个进程占用全部的资源
分成多进程就不存在这个问题
------解决思路----------------------
当年chrome出来,我cao,真快。然后稍加测试就会发现,ie只给每一个页面最多分配2个线程,而且只启动一个进程。而chrome至少从一开始就启动3、4个进程,即使你只有一个chrome窗口打开2、3个页面,你会发现每一个进程中都有一大陀线程在跑着。

ie的问题是被各种流氓软件修改和外挂太频繁了,造成了卡、崩溃的问题,这些问题是“显然”De。而chrome的问题则是“难以察觉”的。
------解决思路----------------------
ie告诉我们,多浏览器窗口其实可以只用一个进程。

而chrome告诉我们,单个浏览器窗口其实可以用多个进程(并且每一个进程里边有一堆线程,每一个进程中的线程数比我们一般应用程序还多)
  相关解决方案