最近在做一个小项目,需要抓取不同的网页源代码然后进行处理。由于每次抓取的页面数可能不同,所以我打算用多线程来做。即每个页面用一个线程来抓取然后进行处理。
但是不知道如何下手。听说用线程池效率比较高,而且方便。但是我如何保证每个线程之在一个页面上工作呢?
比如我要同时抓取1.aspx   2.aspx   3.aspx 三个页面的内容,而且分别要取出不同的内容。
我改怎么写呢?
谢谢高手们指点。最好能有个简单的例子和说明。谢谢大家
分数不多。但希望大家能帮忙。

解决方案 »

  1.   

    对于短时间内能解决的功能用线程池不错,可以把抓取源码的功能做成继承一个接口,然后用一个线程调用就行了,你要取多少个页面就调用多少次线程执行这个功能就行了,每个线程执行完取源码后会自然终止for i as integer =0 to cnt-1
    '开启线程调用实例的功能
    next
      

  2.   

    线程池可以啊
    如果要自己写大概步骤就是
    做一个队列之类的东西用来保存网页的地址,然后做个管理类,主要管理线程,最后做个worker类,具体处理每一个网页
    程序运行后用管理类启动并控制线程,那个网页队列记得Lock了