请问我通过 下面这个多线程来下载图片
问一: 我怎么判断线程下载到多少了?,是否下载完成了?,因为我要显示下载进度
问二: 如果其中有一个下载线程死掉了,怎么判断它死掉了然后重新进行当张图片的下载?
//下载类
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();
}
}
}
//感谢老师的回答
1,下载进度的获取,可以使用这个方式
http://www.cnblogs.com/wolf-sun/p/6699733.html
2,判断有没有下载失败,主要是使用trycatch如果捕捉到异常了,就重新下载