+ -
当前位置:首页 → 问答吧 → chromium是伪多线程吧?

chromium是伪多线程吧?

时间:2010-03-07

来源:互联网

这段时间因为flashplugin的频繁挂掉,发现了一个奇怪的现象,只要flash挂掉,所有chromium的页面全部无法刷新(唯一还能用的是网页内部的链接跳转还能起作用),开新窗口照样无效,必须要重启整个chromium才能搞定。

如果,我是说如果,这种情况出现在chrome os上,那该是如何的令人挂掉啊?

linuxsir的屏 蔽 词真是匪夷所思啊,bengkui都屏 蔽

作者: jobinson99   发布时间: 2010-03-07


Chrome的线程和进程模型

作者: zlowly   发布时间: 2010-03-07

不可能啊。是不是你的进程开太多了,导致一些tab共用一个进程?这种情况下,确实容易出现假死的现象。你可以在Chrome的进程管理器中观察那些属于一个进程,也可以结束掉flashplayer的进程,不需要重启整个chrome。

作者: roy_hu   发布时间: 2010-03-08

的确如LZ所说,不光是flashplugin会导致这样,有时候一个正常的网页打不开时,不管你如何刷新,或者开新TAB,这个页面总是打不开,但只要你重启CHROMIUM重开这个页面,肯定没问题。为什么非要重启整个CHROMIUM呢?试过N遍。

作者: smileoa   发布时间: 2010-03-08

引用:
作者: roy_hu
不可能啊。是不是你的进程开太多了,导致一些tab共用一个进程?这种情况下,确实容易出现假死的现象。你可以在Chrome的进程管理器中观察那些属于一个进程,也可以结束掉flashplayer的进程,不需要重启整个chrome。
2tab,3tab都出现过这种情况,所以不应该是开的进程多少的问题。
共用?进程列表里面是分开的,但只要flash挂掉,不管页面有没有flash内容,chronium全挂(也不算,只是开新tab无法连接到新网页,地址栏输入新地址无法连接。但原有页面内、在本页面打开的连接还是可以用的)。

不知道win下是不是也有这种情况,还是chronium根本就不是win下的那个chrome?????

作者: jobinson99   发布时间: 2010-03-08

我曾经认为多线程跟单标签没什么区别,chrome就是IE6,区别只在于IE6在任务栏切换页面,而chrome自己弄了个叫做标签栏的任务栏。
这种方式只是改头换面,治标不治本。因为一个IE6死了,其它新开进程的IE是不会受影响的,IE6早就做到chrome想要的效果,而chrome又放弃了opera所创又被firefox发扬光大的一个进程控制多页面的先进模式,跟随落后的IE6去了。
现在还是这样认为。

作者: chenzhen   发布时间: 2010-03-08

真的浏览器敢于直面惨淡的网络环境,一条命通关不挂。

作者: niceType   发布时间: 2010-03-08

chrome 从来都不是什么“多线程”,更不存在“伪多线程”一说。

chrome 宣称自己是“多进程”的,类比与当前 IE/Firefox 的“多线程”

作者: poet   发布时间: 2010-03-08

同感,开两个,一挂全挂

作者: wangks18   发布时间: 2010-03-09

引用:
作者: jobinson99
2tab,3tab都出现过这种情况,所以不应该是开的进程多少的问题。
共用?进程列表里面是分开的,但只要flash挂掉,不管页面有没有flash内容,chronium全挂(也不算,只是开新tab无法连接到新网页,地址栏输入新地址无法连接。但原有页面内、在本页面打开的连接还是可以用的)。

不知道win下是不是也有这种情况,还是chronium根本就不是win下的那个chrome?????
从来没有遇到过你说的情况。Chromium是开源的Chrome,我感觉除了平台相关的部分(进程/线程的管理肯定是操作系统相关的),以及涉及到UI的代码,其它部分的代码与Windows是一样的。包括扩展也是Windows和Linux通用的。

作者: roy_hu   发布时间: 2010-03-09

引用:
作者: chenzhen
我曾经认为多线程跟单标签没什么区别,chrome就是IE6,区别只在于IE6在任务栏切换页面,而chrome自己弄了个叫做标签栏的任务栏。
这种方式只是改头换面,治标不治本。因为一个IE6死了,其它新开进程的IE是不会受影响的,IE6早就做到chrome想要的效果,而chrome又放弃了opera所创又被firefox发扬光大的一个进程控制多页面的先进模式,跟随落后的IE6去了。
现在还是这样认为。
当然不是。你没有仔细阅读Chrome的设计文档。IE6里面,每个页面开一个进程,这些进程是没有关系的。而Chrome里面,有一个主进程,它有点像OS,而各个tab的进程有点像OS里面的应用程序,只能渲染当前tab中的内容,任何与底层OS交互的工作,都要和主进程通讯来实现,很好的做了隔离。另外,你有没有发现Chrome速度非常快,他们是花了很大功夫进行优化的。最后,IE8又回到了多进程,Firefox也要引入进程隔离的特性,你能说这一趋势是错的吗?

作者: roy_hu   发布时间: 2010-03-09

引用:
作者: poet
chrome 从来都不是什么“多线程”,更不存在“伪多线程”一说。

chrome 宣称自己是“多进程”的,类比与当前 IE/Firefox 的“多线程”
Chrome既有多进程,也有多线程。在进程不够用的情况下,多个tab可以共享一个进程。另外,下载网络资源时,Chrome显然使用了多条线程。

作者: roy_hu   发布时间: 2010-03-09

引用:
作者: roy_hu
当然不是。你没有仔细阅读Chrome的设计文档。IE6里面,每个页面开一个进程,这些进程是没有关系的。而Chrome里面,有一个主进程,它有点像OS,而各个tab的进程有点像OS里面的应用程序,只能渲染当前tab中的内容,任何与底层OS交互的工作,都要和主进程通讯来实现,很好的做了隔离。另外,你有没有发现Chrome速度非常快,他们是花了很大功夫进行优化的。最后,IE8又回到了多进程,Firefox也要引入进程隔离的特性,你能说这一趋势是错的吗?
多进程多线程与否只是概念上的不同,最终用户体验才是实在的。多进程多线程要牺牲更多的系统资源,优秀的软件不应该依赖于此,难道以后每一个软件都要运行在一个独立或隔离的虚拟甚至真实的OS环境中吗?
速度快是webkit的功效,苹果对此贡献比较大,chrome的突出贡献是提供了V8 JavaScript引擎,引发了各大浏览器在此方面的竞争,而最受益于此的是google各种复杂的JavaScript应用乃至chromeOS的推广,这也是google的真正意图。

作者: chenzhen   发布时间: 2010-03-09

引用:
作者: roy_hu
当然不是。你没有仔细阅读Chrome的设计文档。IE6里面,每个页面开一个进程,这些进程是没有关系的。而Chrome里面,有一个主进程,它有点像OS,而各个tab的进程有点像OS里面的应用程序,只能渲染当前tab中的内容,任何与底层OS交互的工作,都要和主进程通讯来实现,很好的做了隔离。另外,你有没有发现Chrome速度非常快,他们是花了很大功夫进行优化的。最后,IE8又回到了多进程,Firefox也要引入进程隔离的特性,你能说这一趋势是错的吗?
chromium对flash等插件是如何处理的?是不是也有隔离层?

作者: jobinson99   发布时间: 2010-03-09

引用:
作者: jobinson99
chromium对flash等插件是如何处理的?是不是也有隔离层?
flash单独在一个进程里面运行,但是好像由于兼容性的问题,没有隔离,拥有完整的权限。印象中有一个命令行选项可以隔离flash,但会造成有的flash运行失败。

作者: roy_hu   发布时间: 2010-03-10

热门下载

更多