测试代码如下,复制这行代码保存成一个html文件用测试浏览器打开即可:
<input type=button value=测试浏览器是否单线程,注意可能导致浏览器崩溃 οnclick="alert('');i=1;while(i>0){document.title = 'i='+(++i) + ';rd='+Math.random();}" />
ie8测试效果.
不是单进程,也就是说你可以开多个ie,且能在进程管理中看到有二个ie进程,如果上个ie死掉了,你就能打开另一个ie,这张图的前面的ie是正常的就说明这个问题.
但是下面的ie的第二个标签也不能使用,起码说明它们是跟第一个标签或窗口中的其它标签是共生死的,死了,大家一起死.
再来看看firefox8的测试.
非常的可悲,
进程名字只能有一个.
一个死了,所有的窗口,所有的标签都死定了.那么你就会在另一个窗口载入时卡一下感觉到在其它标签中操作也死了一下下.虽然不久,但是te不爽.
firefox8已经变得很可悲了.只能0分.
它已经连刷新窗口的能力都没有了.
看看google的浏览器.
目前为止,它跟我想的那样聪明.document页面内容才使用一个独立线程,第一个窗口的第一个标签死了,完全不影响第二个标签和地址栏,第二个窗口根本就不用说了.只是页面那个区域动不了而已.但是可悲的是它不会提示你脚本导致慢,可能它比较强吧,没必要注意这问题,反正没事.可惜我在关闭第一个标签时,要花几秒才不见.但cpu却下不来.只能把整个窗口关掉才行.从进程管理中看到它二个窗口,四个进程..可想,内存占用了.只不过没事.还能用.只是希望xp可以支持30g内存就好了.
如果它的firebug和一些我不得不用的支持能好点话.我应该直接考虑它了.像鼠标手势,多标签更加灵活(比如双击关闭标签,不要显示关闭按钮,标签多了过小,会不小心点到),扩展大家能出点力多弄几个,银行支持一下.和wm可以使用(没试),我可以把它装到d盘?启动时我不喜欢看到它出现在进程管理中,除非我点它?
再看看opera,对于我来说,它还不如firefox的家伙.
它直接不允许出现第二个窗口
但有一点值得高兴的是它的这个代码竟然不影响它,不会死,在弹出alert时也能使用第二个标签.且计算这个代码时,cpu只22.看来我得找个另法的形式才能难得倒它.但是它依然是某些情况下它是一个线程的.具体得测试过,感觉有点像是控件这块导致,像wm
另外测试一下,发现它的单进程对于多标签这块做的比较好.一个标签加载对于另一个标签的影响并没有跟其它单进程的那么大.这点不错.
看来我前面说过的某些话.得收回了.
却不知,苹果却死得比firefox还难看
虽然可以多开,还是多进程.但是却是单线程?一个标签死了.所有的窗口都死掉了.且连出声都来不及.只有使用强制结束.
浏览器之列.苹果可以出列.不在讨论中.
最后bs opera,帖子在oprea中编辑竟然调整图片的大小的拉动不支持.....