創建執行緒
int taskn=0;
Task[] tasks = new Task[5];
while (!jpgfile.EndOfStream)//開始下載
{
imurl= jpgfile.ReadLine();
if (taskn < 5)
{
tasks[taskn] = Task.Run(() => Getpic(imurl));
Console.WriteLine("下載地址:" + taskn + imurl);
//Thread.Sleep(500);//休眠函式
taskn++;
}
}
Console.ReadKey();
執行緒函式
static bool Getpic(string imurl)
{
Console.WriteLine("執行緒地址: " + imurl);
return await Task.Run(() =>
{WebClient下載檔案。。。。。。
不用休眠函式結果如下,每次都有重復,重復的都不太一樣
下載地址:0 65026
下載地址:1 65027
下載地址:2 65028
下載地址:3 65029
下載地址:4 65030
執行緒地址: 65029
執行緒地址: 65031
執行緒地址: 65029
執行緒地址: 65031
執行緒地址: 65031
使用休眠函式就正常了,不知道錯在哪了,請指點
下載地址:0 65026
執行緒地址: 65026
下載地址:1 65027
執行緒地址: 65027
下載地址:2 65028
執行緒地址: 65028
下載地址:3 65029
執行緒地址: 65029
下載地址:4 65030
執行緒地址: 65030
uj5u.com熱心網友回復:
解決了,if (taskn < 5)
{
string strtask = imurl;
tasks[taskn] = Task<bool>.Run(() => Getpic(strtask));
//tasks[taskn].Start();
Console.WriteLine("開始:" + taskn + imurl);
//Thread.Sleep(500);
taskn++;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/263600.html
標籤:C#
上一篇:筆記本很難選啊!
