已知
有个ArrayList a  里面存储的都是图片的url,下载函数 F_DownLoadFile(string PicUrl)我想实现多线程下载,图片都下载好以后,要求把下载好的图片的名称放到ArrayList b里不知道该如何写,请高手赐教,请给出简单的代码,谢谢

解决方案 »

  1.   

    简单点儿,你可以使用WebClient来进行下载
    参看
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/cpref/html/frlrfsystemnetwebclientclassdownloadfiletopic.htm
      

  2.   

    至于后面ArrayListb来说,就是你进行下载后保存的文件名,这点儿我就不多说了
      

  3.   

    Read "WebClient.DownloadFile" in MSDN.
      

  4.   

    msdn中的例子不是已经很详细了吗,参考写就行了,至于多线程,你把真正实现的部分放到线程中就行了。
      

  5.   

    DealWithWeb c = new DealWithWeb(@"http://www.5mmmm.com/cjsg/2006-6/12/062336119.html");
    Thread  t = null;
    foreach(string url in c.PicUrlArry)
    {
    cls myClass = new cls(new PrintResult(PrintResultToWeb),url);
    t = new Thread(new ThreadStart(myClass.sum));//下载函数
    t.Start();
    }这样写可以吗,感觉图片是一张一张下载的,不是同时下载的
      

  6.   

    要等待所有的线程完成其实很简单,有很多办法,例如用个循环检测所有线程的状态,或者随机Join到正在运行的线程上,直到所有的线程都不再运行。也可以令线程回调报告自己已经完成,弄个对象来计数:如:
    public class Counter
    {
      private int count;
      public Add();
      {
        count++;
      }
    //...