在datagrindview行中,我有很多URL。
我想从这个urls下载w文件。
现在我使用以下代码:
int rowcount = dataGridView1.Rows.Count;
for (int i = 0; i < rowcount; i++)
{
string filename = patch;
WebClient webc = new WebClient();
webc.DownloadFile(dataGridView1.Rows[i].Cells[0].Value.ToString(), patch + "\\" + "alap" + (i+1).ToString() + ".mp4");
}这是为我的,它下载的文件一个一个。
我想下载文件paralell (多线程),例如5个文件同时下载。
发布于 2014-11-04 10:51:48
尝试:
int rowcount = dataGridView1.Rows.Count;
List<Task> tasks = new List<Task>()
for (int i = 0; i < rowcount; i++)
{
string filename = patch;
var tsk = Task.Factory.StartNew(() =>
{
try
{
var integerString = (i+1).ToString();
WebClient webc = new WebClient();
webc.DownloadFile(dataGridView1.Rows[i].Cells[0].Value.ToString(), patch + "\\" + "alap" + integeString + ".mp4");
}
catch
{
//log
}
});
tasks.add(tsk);
}
Task.WaitAll(tasks.ToArray());https://stackoverflow.com/questions/26732487
复制相似问题