LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: jobinson99

chromium是伪多线程吧?

[复制链接]
发表于 2010-3-9 03:06:02 | 显示全部楼层
Post by chenzhen;2073892
我曾经认为多线程跟单标签没什么区别,chrome就是IE6,区别只在于IE6在任务栏切换页面,而chrome自己弄了个叫做标签栏的任务栏。
这种方式只是改头换面,治标不治本。因为一个IE6死了,其它新开进程的IE是不会受影响的,IE6早就做到chrome想要的效果,而chrome又放弃了opera所创又被firefox发扬光大的一个进程控制多页面的先进模式,跟随落后的IE6去了。
现在还是这样认为。


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

使用道具 举报

发表于 2010-3-9 03:07:36 | 显示全部楼层
Post by poet;2073921
chrome 从来都不是什么“多线程”,更不存在“伪多线程”一说。

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


Chrome既有多进程,也有多线程。在进程不够用的情况下,多个tab可以共享一个进程。另外,下载网络资源时,Chrome显然使用了多条线程。
回复 支持 反对

使用道具 举报

发表于 2010-3-9 13:22:01 | 显示全部楼层
Post by roy_hu;2074074
当然不是。你没有仔细阅读Chrome的设计文档。IE6里面,每个页面开一个进程,这些进程是没有关系的。而Chrome里面,有一个主进程,它有点像OS,而各个tab的进程有点像OS里面的应用程序,只能渲染当前tab中的内容,任何与底层OS交互的工作,都要和主进程通讯来实现,很好的做了隔离。另外,你有没有发现Chrome速度非常快,他们是花了很大功夫进行优化的。最后,IE8又回到了多进程,Firefox也要引入进程隔离的特性,你能说这一趋势是错的吗?

多进程多线程与否只是概念上的不同,最终用户体验才是实在的。多进程多线程要牺牲更多的系统资源,优秀的软件不应该依赖于此,难道以后每一个软件都要运行在一个独立或隔离的虚拟甚至真实的OS环境中吗?
速度快是webkit的功效,苹果对此贡献比较大,chrome的突出贡献是提供了V8 JavaScript引擎,引发了各大浏览器在此方面的竞争,而最受益于此的是google各种复杂的JavaScript应用乃至chromeOS的推广,这也是google的真正意图。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-9 14:16:46 | 显示全部楼层
Post by roy_hu;2074074
当然不是。你没有仔细阅读Chrome的设计文档。IE6里面,每个页面开一个进程,这些进程是没有关系的。而Chrome里面,有一个主进程,它有点像OS,而各个tab的进程有点像OS里面的应用程序,只能渲染当前tab中的内容,任何与底层OS交互的工作,都要和主进程通讯来实现,很好的做了隔离。另外,你有没有发现Chrome速度非常快,他们是花了很大功夫进行优化的。最后,IE8又回到了多进程,Firefox也要引入进程隔离的特性,你能说这一趋势是错的吗?

chromium对flash等插件是如何处理的?是不是也有隔离层?
回复 支持 反对

使用道具 举报

发表于 2010-3-9 20:15:49 | 显示全部楼层
Post by jobinson99;2074162
chromium对flash等插件是如何处理的?是不是也有隔离层?


flash单独在一个进程里面运行,但是好像由于兼容性的问题,没有隔离,拥有完整的权限。印象中有一个命令行选项可以隔离flash,但会造成有的flash运行失败。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表