定义任务而不并行触发它
Defining a task without firing it parallel
您好,有什么方法可以在不触发任务的情况下定义任务吗?
我需要在没有触发的情况下获取任务对象。
------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
您可以像这样使用 Func<Task>
:
async Task Main()
{
var methodToInvoke = new Func<Task>(() => MyMethod())
// Later on
await methodToInvoke();
}
async Task MyMethod()
{
await Task.Delay(5000);
}
您好,有什么方法可以在不触发任务的情况下定义任务吗? 我需要在没有触发的情况下获取任务对象。
------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
您可以像这样使用 Func<Task>
:
async Task Main()
{
var methodToInvoke = new Func<Task>(() => MyMethod())
// Later on
await methodToInvoke();
}
async Task MyMethod()
{
await Task.Delay(5000);
}