WEB开发网
开发学院软件开发C语言 用C#2.0实现网络蜘蛛(WebSpider) 阅读

用C#2.0实现网络蜘蛛(WebSpider)

 2009-05-29 08:31:25 来源:WEB开发网   
核心提示: //用于判断文件流指针是否位于文件尾部 publicboolIsEof() { returnsr.EndOfStream; }FileIO类不仅仅用于对下载队列的读写,在

 // 用于判断文件流指针是否位于文件尾部
  public bool IsEof()
  {
  return sr.EndOfStream;
  }

FileIO类不仅仅用于对下载队列的读写。在后面我们还会讲到,网络蜘蛛通过多线程下载网络资源时,每一个线程将自己下载的网络资源保存在属于自己的一个目录中。每个这样的目录都有一个index.txt文件,这个文件保存了当前目录的网络资源的URL。向index.txt文件中追加URL也用到了FileIO(index.txt不需要读取,只需要不断地追加行)。

四、线程类的实现

要想使网络蜘蛛在有限的硬件环境下尽可能地提高下载速度。最廉价和快捷的方法就是使用多线程。在.net framework2.0中提供了丰富的线程功能。其中的核心线程类是Thread。一般可使用如下的代码创建并运行一个线程:

在C#中使用线程的演示代码

private void fun()
  {
  // 线程要执行的代码
  }
  public void testThread()
  {
  Thread thread;
  thread = new Thread(fun); // 创建一个Thread对象,并将fun设为线程运行的方法
  thread.Start(); // 运行一个线程
  }

虽然上面的代码比较简单地创建并运行了一个线程,但是这段代码看起来仍然不够透明,也就是客户端在调用线程时仍然需要显式地使用Thread类。下面我们来实现一个用于创建线程的MyThread类。C#中的任何类只需要继承这个类,就可以自动变成一个线程类。MyThread类的代码如下:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:实现 网络 蜘蛛

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接