写了一个Web Spider的程序,运行一段时间后CPU100%......找不到原因。

wewu200 2006-01-13 01:39:28
我是针对每个url,先下页面,然后再根据一个匹配规则,如果符合条件,则再下这个url页面里面的所有url,再对每个url做同样的处理。

然后就是在正常运行了3到4分钟后,进程就占CPU100%,我下载页面是用单线程(因为是做后台运行,不是专门的Spider,不求抓的速度),做匹配是用3个规模大小的线程池,其实也和单线程差不多。因为match的逻辑处理要比下载页面的快,所以基本上match的处理只能是跟在下页面之后。

而且,我在判断出CPU100%的状态后,把那两个线程都挂起了,还是同样。而且检查过,没有哪里掉进死循环里面。

会不会和对象相关?好象会new很多的页面封装对象,然后又没办法显式销毁。

大家在写spider有没有遇到同样的问题牙,帮帮忙啊。还有就是spy++怎么用啊?埃,用C#没多久,之前是用java的。
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bomb_boy 2006-01-13
  • 打赏
  • 举报
回复
建议不停输出当前处理的链接地址,还有超时的问题。有的地方该SLEEP一下的就应该SLEEP一下
wewu200 2006-01-13
  • 打赏
  • 举报
回复
期待.....
Liao_0769 2006-01-13
  • 打赏
  • 举报
回复
......

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧