62,056
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Threading.Tasks;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
var task = new Task<string>[3] {
Task<string>.Factory.StartNew(()=> {return Bain("01"); }),
Task<string>.Factory.StartNew(()=> {return Bain("02"); }),
Task<string>.Factory.StartNew(()=> {return Bain("03"); })
};
//for (int i = 0; i < task.Length; i++)
//{
// Console.WriteLine(task[i].Result);
//}
Task.WaitAll(task);//这里如何像ContinueWith那样等等完成才获取值,而不阻塞呢?
Console.WriteLine("00");
}
public static string Bain(string str)
{
return str;
}
}
}
Task.WhenAll(task).ContinueWith((ts) =>
{
foreach (var t in ts.Result)
{
Console.WriteLine("Returned:" + t);
}
Console.WriteLine("All Finished");
});//这里如何像ContinueWith那样等等完成才获取值,而不阻塞呢?
var task = new Task<string>[3] {
Task<string>.Factory.StartNew(()=> {return Bain("01"); }),
Task<string>.Factory.StartNew(()=> {return Bain("02"); }),
Task<string>.Factory.StartNew(()=> {return Bain("03"); })
};
//for (int i = 0; i < task.Length; i++)
//{
// Console.WriteLine(task[i].Result);
//}
Task.WhenAll(task).ContinueWith((t) =>
{
Console.WriteLine("All Finished");
});//这里如何像ContinueWith那样等等完成才获取值,而不阻塞呢?
Console.WriteLine("00");