为什么我的多线程程序总是运行一段时间就停,顶者有分

时间:2023-02-21 22:16:15
我用C#编了一个抓取网页的程序(webform),用多线程抓取多个网页,多线程用了两种方法:
第一种:用线程池管理多线程。
第二种:自已开线程(就是不用线程池)

我把程序传到服务器上,发现程序运行一段时间后就会停个来,这是为什么呢?

第一种方法大约运行2个小时左右就会停,第二种方法大约运行6,7个小时也会停。
我在程序里已经差不多能产生错误的地方都catch了,但还是不行,不知道是服务器那边的原因,还是我的程序原因,请高手多指点。

前提条件:
我的虚拟主机是租用中国某著名虚拟主机提供商的.

31 个解决方案

#1


只会顶

#2


我觉得你 这种情况应该考虑服务器的情况,服务器的线程也是有限的,可能你的程序开了太多的线程被管制了

#3


up

#4


这个程序也有一个相应的winform程序,由于webform程序不太好用,所以有时我也用winform的,但用用winform程序时,有时可以运行几十个小时不出错,但有时运行7,8个小时出错,为什么呢?
我用的是线程序池管理,而且控制了线程并发总数为:100。

#5


自已up一下

#6


再up

#7


关注  有可能与服务器的有关 要不你可以在你机器上试试看可以运行多长时间

#8


运行几小时会停是在本机上还是服务器上?会不会是线程不活动被资源回收或者限制了?

#9


停在服务器上。

#10


又没人回答了?

#11


關注ing

#12


我也有过类似的问题,总感觉catch不能彻底解决线程因为错误而退出的问题

#13


楼上的老兄,那你后来是怎么办的?

#14


up

#15


高手都到哪里去了?

#16


再up

#17


不要觉吼。

#18


有时候多线程的程序,简单的try...catch是不能够检测到的。

#19


听下一位高手来指点一下。

#20


新问题  关注

#21


up

#22


不要沉啊。

#23


学习+关注+顶~!

#24


期待高手

#25


帮你顶一下
期待。。。。

#26


关注一下,因为或许以后我也会遇到这样的问题。收藏!

#27


做一个程序员很简单,做一个好的程序员很难!
最低层到电源电气,以及机器运行的环境,每一个微小的因素都可能影响到程序的执行异常
对于很多人来说,.net就足够庞大了,可是尽管它也采取了种种措施来保证程序的正常执行,但是到现实中,那还是杯水车薪
具体到这个问题来说,你可以尝试过一段时间,自动让程序重新开始运行,我的现有知识无法保证我的想法的可行性,只是一个异想天开的建议
可能我是在坐井观天,学习ing

#28


呵呵,楼上的,你的方法不是从根本上解决问题啊,我也有过你的想法,我想要的是真正的治本的方法.

#29


还得自已up

#30


再顶起来

#31


你清空Temprary ASP.NET FILES重新编译生成试过吗?我有次遇到类似的问题居然是由这弱智原因引起的。

#1


只会顶

#2


我觉得你 这种情况应该考虑服务器的情况,服务器的线程也是有限的,可能你的程序开了太多的线程被管制了

#3


up

#4


这个程序也有一个相应的winform程序,由于webform程序不太好用,所以有时我也用winform的,但用用winform程序时,有时可以运行几十个小时不出错,但有时运行7,8个小时出错,为什么呢?
我用的是线程序池管理,而且控制了线程并发总数为:100。

#5


自已up一下

#6


再up

#7


关注  有可能与服务器的有关 要不你可以在你机器上试试看可以运行多长时间

#8


运行几小时会停是在本机上还是服务器上?会不会是线程不活动被资源回收或者限制了?

#9


停在服务器上。

#10


又没人回答了?

#11


關注ing

#12


我也有过类似的问题,总感觉catch不能彻底解决线程因为错误而退出的问题

#13


楼上的老兄,那你后来是怎么办的?

#14


up

#15


高手都到哪里去了?

#16


再up

#17


不要觉吼。

#18


有时候多线程的程序,简单的try...catch是不能够检测到的。

#19


听下一位高手来指点一下。

#20


新问题  关注

#21


up

#22


不要沉啊。

#23


学习+关注+顶~!

#24


期待高手

#25


帮你顶一下
期待。。。。

#26


关注一下,因为或许以后我也会遇到这样的问题。收藏!

#27


做一个程序员很简单,做一个好的程序员很难!
最低层到电源电气,以及机器运行的环境,每一个微小的因素都可能影响到程序的执行异常
对于很多人来说,.net就足够庞大了,可是尽管它也采取了种种措施来保证程序的正常执行,但是到现实中,那还是杯水车薪
具体到这个问题来说,你可以尝试过一段时间,自动让程序重新开始运行,我的现有知识无法保证我的想法的可行性,只是一个异想天开的建议
可能我是在坐井观天,学习ing

#28


呵呵,楼上的,你的方法不是从根本上解决问题啊,我也有过你的想法,我想要的是真正的治本的方法.

#29


还得自已up

#30


再顶起来

#31


你清空Temprary ASP.NET FILES重新编译生成试过吗?我有次遇到类似的问题居然是由这弱智原因引起的。