首页 新闻 会员 周边

每次打开一个网页都是一个线程吗?

0
悬赏园豆:10 [已解决问题] 解决于 2015-03-09 12:01

1、每次在浏览器上打开一个窗口,都是一个线程吗?

2、如果是的话,多个窗口中的其中一个,如果在等待响应的时候关闭了这个窗口,那么那个线程还运行吗,是立即结束还是等待线程操作完毕后再结束。

其实我主要关心的是线程的生命周期,拿浏览器做例子啦

代码小兵的成长的主页 代码小兵的成长 | 菜鸟二级 | 园豆:303
提问于:2015-03-09 11:22
< >
分享
最佳答案
0

1、一个窗口通常不止一个线程。

2、关闭窗口,线程仍然会运行到线程结束,或者进程结束。

收获园豆:10
爱编程的大叔 | 高人七级 |园豆:30839 | 2015-03-09 11:24

那这样不会很浪费性能吗,我点错了,然后直接关闭了,你还非要运行啊

顺便和大叔您老打招呼:大叔你好

代码小兵的成长 | 园豆:303 (菜鸟二级) | 2015-03-09 11:28

@代码小兵的成长: 所以你要处理啊,线程有abort函数,窗口关闭也有事件Form_Closing,你可以在Form_Closing中写自己的垃圾回收,这个系统没法帮你的,也许CLR 15.0可以吧。

所以才会说线程易学难精啊。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-03-09 11:29

@爱编程的大叔: 其实我只是不想自己操作,CLR不会自己解决吗,它不是有线程管理功能嘛,这点太不符合我的想法了。

代码小兵的成长 | 园豆:303 (菜鸟二级) | 2015-03-09 11:33

@爱编程的大叔: 好吧,再问您老一个问题,就这个博客园http://q.cnblogs.com/首页,你不用刷新,如果有消息它都会通知你,怎么做到的,不是说网页都是无状态的嘛,难道是用数据库保存session内容并使用了发布订阅模式?

代码小兵的成长 | 园豆:303 (菜鸟二级) | 2015-03-09 11:39

@代码小兵的成长: 有多种技术可以做到。

1、javascript里面弄个定时器,隔段时间AJAX取一下。

2、啥高大上的长连接技术,如Signal,或者你说的发布订阅模式,不过我估计应该不用这么狠。

极大可能就是方法1,你可以看看q.cnblog.com的javascript源代码,找找应该能找到。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-03-09 11:48

@爱编程的大叔: 多谢了大叔

代码小兵的成长 | 园豆:303 (菜鸟二级) | 2015-03-09 12:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册