【发布时间】:2014-04-01 19:25:55
【问题描述】:
我有这个异步启动方法的简单代码。它使用TCS 来包装任务代码。
Task<int> DoWork()
{
var source = new TaskCompletionSource <int>();
Thread.Sleep(220);
source.SetResult(9999999);
return source.Task;
}
void Main()
{
Console.WriteLine(1);
var t1=Task.Factory.StartNew(()=>DoWork());
t1.ContinueWith(_=>Console.WriteLine ("doing something different "));
t1.ContinueWith(_=>Console.WriteLine ("finished , value is ="+_.Result.Result));
Console.WriteLine(2);
Console.ReadLine();
}
输出:
1
2
doing somethign different //those last 2 lines can be swapped
finished , value is =9999999
但是现在,我想将其转换为使用Task.FromResult<TResult>。
这是poorly documented,所以我想知道如何将上面的代码转换为使用Task.FroResult?
【问题讨论】:
标签: c# multithreading task-parallel-library .net-4.5