Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
关于多线程下载图片的问题
早茶月光发起了问答2017-08-25
1
回复
915
浏览

请问我通过 下面这个多线程来下载图片

问一: 我怎么判断线程下载到多少了?,是否下载完成了?,因为我要显示下载进度

问二: 如果其中有一个下载线程死掉了,怎么判断它死掉了然后重新进行当张图片的下载?

//下载类

public class MyDownLoad
{
    private string url;
    private string filePath;

    public MyDownLoad(string _url,string _filePath)
    {
        this.url = _url;
        this.filePath = _filePath;
    }

    public void Download()
    {
        WebClient _web = new WebClient();
        _web.DownloadFile(url,filePath);
    }
}

 

//启动下载的类

public class ThreadDownload : MonoBehaviour
{
    //假设 new出来的 urls 数组都存有网址 
    //而每一个 filePath 都对应一个 urls
    private string[] urls = new string[10];
    private string[] filePath = new string[10];

    void start()
    {
        //启动多线程下载
        for (int i = 0; i < urls.Length; i++)
        {
            MyDownLoad _myDownLoad = new MyDownLoad(urls[i],filePath[i]);
            Thread _td = new Thread(new ThreadStart(_myDownLoad.Download));
            _td.Start();
        }
    }
}

//感谢老师的回答

所有回复
  • siki 2017-08-25

    1,下载进度的获取,可以使用这个方式

    http://www.cnblogs.com/wolf-sun/p/6699733.html

    2,判断有没有下载失败,主要是使用trycatch如果捕捉到异常了,就重新下载

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!