考虑以下延续:
Task.Factory.StartNew(()=>
{
MethodA();
})
.ContinueWith((t)=>
{
MethodB();
})
.ContinueWith((t)=>
{
MethodC();
});
据我所知,执行将是这样的:
MethodA
执行。MethodB
在MethodA
完成后执行。
{li> MethodC
在MethodB
完成后执行。
醇>
如果我希望在MethodC
完成后继续MethodA
,该怎么办?(而不是等待MethodB
)
我正在寻找除手动声明任务变量之外的解决方案,而是希望使用流利工厂的方法排序。
答案 0 :(得分:2)
您可以为MethodB
和MethodC
启动其他任务,以便MethodA
完成后并行执行:
Task.Factory.StartNew(()=>
{
MethodA();
})
.ContinueWith((t)=>
{
Task.Factory.StartNew(() => {
MethodB();
});
Task.Factory.StartNew(() => {
MethodC();
});
});