返回列表 发帖

[问题求助] ~~关于TW3的三种进程模式,求“开发组”和“知情特务”解惑~~【修正错误】

本帖最后由 Arcanist 于 2009-8-3 17:30 编辑

说明见贴末

写在前面:

因一问而胡思乱想,才有此贴。有点后悔没加入内测组了~
对“进程”和“线程”一点都不清楚的同学,就当是看个热闹~~
我不懂程序,就说说TW3的三种进程模式

单进程模式——“单进程多线程”一个页面一个线程
多进程模式——“多进程单线程”一个页面一个进程


没问题吧?(有问题就惨了
一个页面多个线程,在技术上应该不容易实现,我想同步是一个大问题

假死有两个方面,一个是网页假死,还有一个是浏览器假死

TW2就是“单进程多线程”——一个线程死了,进程却不一定会死,减少了浏览器假死的概率
那么,要想浏览器不假死,是否把“界面”和“页面”分开就可以立于不败之地?两个进程足矣?

网页代码比较复杂、数据过多,代码有bug、系统繁忙、性能不足、执行效率低下
“页面”该死的时候还是会死,完全意义上的“防假死”应该很难做到
但“防浏览器假死”就很容易,单独一个进程就解决了(说起来容易,做起来麻烦肯定不断)

线程与线程之间关系比较紧密,相互影响比较大;进程与进程之间则相对独立~
所以,网页在执行的时候,“多进程单线程”比“单进程多线程”更具优势,更不容易死,但资源占用也更高

而“混合模式”就是“多进程多线程”,介于两者之间,取得一个平衡
(不妨看成是1+N个TW2的“单进程多线程”,1代表“界面”单独一个进程)

在少量网页需求时保持较低的资源占用
在大量网页需求时又不会因为同进程线程太多从而导致网页执行时不稳定

还有其它优点吗?

多进程的另一好处是不是就是“资源释放”?
这几种模式的主要区别是否就在于“抗假死”和“资源释放”的能力不同?
在一般应用下,“混合模式”是不是就已经能够胜任?
“单进程模式”的“界面”和“页面”在同一进程,为什么也能做到“防假死”?
TW2就不行?这里面有什么技术?是不是“剥离界面”到单独的一个线程?

最后,请问IE6是不是“单进程单线程”浏览器?最近有人告诉我不是……
如果不是,TW1呢?“多页面单线程”有没有存在过?标签和线程是两回事,没错吧?
那位特务说的话不得不值得考虑,我还真有点动摇了……

以上都是自己的推断,有不对的地方,还请众特务(TWer)指出
尤其希望能得到开发组的回复
问题得不到答案,让人抓破头

——————分割线——————

这个不算刺探机密吧,如果是,开发组就简单说说
就标签来说,是不是“一个标签一个线程”?剩下的我自己想办法解决
借5楼的图用一用~
http://www.ioage.com/revision/template/cn/skin/default/help/SingleProcess.png

看了熊猫老大的回复,貌似我说的没什么大问题~~哈哈

写在后面:

为了区分“多进程模式”和“混合模式”

将“多进程模式”定位成“多进程单线程”,就是说每一个进程只有一个线程
因为是多进程,所以实际上还是多线程

“混合模式”就是“多进程多线程”,每一个进程都有多个线程
这也是“单进程模式”的形式,但结合了多进程,所以才叫混合模式。

开发组没有明确指出“一个页面一个线程”的正误
但从熊猫老大的回复上看貌似就是这样了,姑且就这么认为吧
虽然都是“多进程+多线程”,但区别就在这里

————————————————————————

真不好意思,经人提点,我才发现,将“页面”和“标签”混为一谈是不对的
由于我没有说清楚,给大家造成了误解
我这里的说的“线程”只是针对“标签”来说的,没有考虑其他
就是想更清楚的了解TW3的“进程模式”和“防假死”之间的关系
给大家说声抱歉

本帖最后由 Arcanist 于 2009-8-3 18:10 编辑
我猜测的是这样:除了用线程来解析页面外,还需要跟别的进程间通信,因为有同组标签、有其他各个功能,所以,多进程模式下,也不会只有一个线程在工作,而还会建立多个线程来实现各个功能。

这些都是我作为普 ...
hblf 发表于 2009-8-3 17:40 http://bbs.ioage.com/cn/images/common/back.gif

我很赞同,都是我用词不准确害的
貌似很多软文也没有明确说明这一点,莫非是故意混淆概念...
如果程序只用一个线程来运行,光想想就头疼

TOP

说实话我也有点糊涂了,现在的程序都是多线程了~
但我这里只考虑单个标签,那么线程如何分配呢?
一个标签占据一个进程,用一个线程来执行它,需要多线程么?
(这里只说标签,不知道可懂我的意思?)
如果从整 ...
Arcanist 发表于 2009-8-3 17:16 http://bbs.ioage.com/cn/images/common/back.gif


我猜测的是这样:除了用线程来解析页面外,还需要跟别的进程间通信,因为有同组标签、有其他各个功能,所以,多进程模式下,也不会只有一个线程在工作,而还会建立多个线程来实现各个功能。

这些都是我作为普通用户的猜测,如有偏颇,欢迎指教!
PS 这帖子水忒深了……
win7 旗舰版
IE8.0
KAV9.0.0.736
PCTools FW 6
---------------------
我们再也回不去了,对不对
俺的自留地,就是有点枯燥:lewisec.sinaapp.com

TOP

本帖最后由 Arcanist 于 2009-8-3 17:17 编辑
后面的应该想的跟我想的一样。
前面有句“‘单线程’说的是同进程只有一个线程,所以实际上还是多线程”,这句的“实际上还是多线程”感觉不对吧。多线程是相对于一个进程里面的线程而言的吧?难道不同进程里面的 ...
crystal0808 发表于 2009-8-3 16:41 http://bbs.ioage.com/cn/images/common/back.gif

说实话我也有点糊涂了,现在的程序都是多线程了~
但我这里只考虑单个标签,那么线程如何分配呢?
一个标签占据一个进程,用一个线程来执行它,需要多线程么?
(这里只说标签,不知道可懂我的意思?)
如果从整个程序来说,TW1也不是单线程浏览器呀

TOP

本帖最后由 Arcanist 于 2009-8-3 17:11 编辑
我现在就是用的多进程模式
谁说一个进程就是一个线程呢?
258369 发表于 2009-8-3 16:55 http://bbs.ioage.com/cn/images/common/back.gif


多谢提点,这就是我一直想要弄明白的,我去测试一下
这张图不知道想说明什么,我说的线程只是针对这个标签页面来说的~
我也不知道如何说才好~~毕竟自己也是一知半解
现在编写的程序很少见到单线程的了,多线程并发处理才是效率呀
何况网页里面有那么多的数据需要执行
虽然我不懂程序,但这点还是知道的

TOP

我现在就是用的多进程模式
谁说一个进程就是一个线程呢?
附件: 您需要登录才可以下载或查看附件。没有帐号?加入 我们

TOP

你用多进程模式,一个页面就占一个进程
我说的“多进程单线程”就是指这个
“单线程”说的是同进程只有一个线程,所以实际上还是多线程

混合模式,就是说有多个进程,每个进程又有多个线程,一个线程一个页面 ...
Arcanist 发表于 2009-8-3 15:11 http://bbs.ioage.com/cn/images/common/back.gif

后面的应该想的跟我想的一样。
前面有句“‘单线程’说的是同进程只有一个线程,所以实际上还是多线程”,这句的“实际上还是多线程”感觉不对吧。多线程是相对于一个进程里面的线程而言的吧?难道不同进程里面的单个线程组合起来也算多线程?不知道我理解的对不对

TOP

那3.x的多线程什么时候能够用到啊?混合模式?还是有其他的功用
crystal0808 发表于 2009-8-3 14:33 http://bbs.ioage.com/cn/images/common/back.gif

你用多进程模式,一个页面就占一个进程
我说的“多进程单线程”就是指这个
“单线程”说的是同进程只有一个线程,所以实际上还是多线程

混合模式,就是说有多个进程,每个进程又有多个线程,一个线程一个页面

你想想TW2是不是“一个进程多个线程多个页面”?
现在变成了“多个进程多个线程多个页面”...
结合了多进程,所以才叫混合模式

TOP

1.X:单进程+单线程 - 所有页面都在一个进程且都是一个线程
2.X:单进程+多线程:所有页面都在一个进程,所有页面都在不同线程
3.X:多进程+多线程:页面可在不同进程,所有页面都在不用线程
netac 发表于 2009-8-3 14:00 http://bbs.ioage.com/cn/images/common/back.gif

那3.x的多线程什么时候能够用到啊?混合模式?还是有其他的功用

TOP

比喻的不错,跟听故事一样
april 发表于 2009-8-3 14:11 http://bbs.ioage.com/cn/images/common/back.gif

谢谢哈,你也来讲一个

TOP

1.X:单进程+单线程 - 所有页面都在一个进程且都是一个线程
2.X:单进程+多线程:所有页面都在一个进程,所有页面都在不同线程
3.X:多进程+多线程:页面可在不同进程,所有页面都在不用线程
netac 发表于 2009-8-3 14:00 http://bbs.ioage.com/cn/images/common/back.gif

那3.x的多线程用来干什么去了?

TOP

这个没有什么好搞的吧,老老实实用人家的浏览器就行了,都有人给你弄好了,你还非得想那么多。

多进程的优势是防假死稍微彻底一点,一个进程(页面)死了可以直接kill掉不会影响其他的,线程死了就没法kill了,而且 ...
crystal0808 发表于 2009-8-3 13:52 http://bbs.ioage.com/cn/images/common/back.gif
比喻的不错,跟听故事一样

TOP

返回列表