你好,有没有办法定义任务而不解雇它们? 我需要抓住一个没有它的任务对象。
------code-------------
Task A=Task.Run(func1);
Task B=Task.Run(func2);
-----some more code----
在这个例子中,A
任务在与程序其余部分并行(在另一个核心上)定义的行中被触发。
我希望能够根据A触发任务B,但仍然与程序的其余部分并行。
Something like :
---code---
Task A= something without starting it
Task B= something without starting it
B.ContinueWith(A);
---code----
P.S我想从主线程并行编排一些任务,对于这种情况我不需要Task.WhenAll/When Any
答案 0 :(得分:3)
您可以像这样使用Func<Task>
:
async Task Main()
{
var methodToInvoke = new Func<Task>(() => MyMethod())
// Later on
await methodToInvoke();
}
async Task MyMethod()
{
await Task.Delay(5000);
}