【发布时间】:2015-03-27 05:03:04
【问题描述】:
让我们看看:
Task.Run方法(操作):将指定工作排入队列以在 ThreadPool 上运行并返回该工作的任务句柄。
和
TaskFactory.StartNew方法(动作):创建并启动一个任务。
但我的代码没有这两个。它仍然可以启动和运行。为什么?
static void Main(string[] args)
{
Task t = AsynchronyWithTPL();
t.Wait();
}
static Task AsynchronyWithTPL()
{
Task<string> t = GetInfoAsync("Task 1");
Task t2 = t.ContinueWith(task => Console.WriteLine(t.Result), TaskContinuationOptions.NotOnFaulted);
Task t3 = t.ContinueWith(task => Console.WriteLine(t.Exception.InnerException), TaskContinuationOptions.NotOnFaulted);
return Task.WhenAny(t2, t3);
}
似乎Task.Wait 方法启动了任务,但这是一个好习惯吗?
【问题讨论】:
标签: c# .net async-await task-parallel-library