自定义TaskScheduler上的计划/启动问题,该任务将在所述Scheduler上完成执行

问题描述 投票:0回答:1

我要安排的工作正在使用await关键字,因此,工作本身的类型为async Task

即使我通过了调度程序,我也无法使用Task.Factory.StartNew,因为当它到达工作的第一个等待时,它将认为任务“完成”,使它离开调度程序并继续使用默认调度程序。 >

我无法使用var a = new Task(DoWork....); a.Start(myScheduler),因为我会使用async void方法,我们知道该方法的陷阱。

我无法使用Task.Run(),因为它不允许您更改计划在其上启动任务的计划程序。

如果我不能使用其中任何一个,我将如何实现我的目标,即计划异步工作,该工作必须在最初启动的计划程序上完成执行?

我要安排的工作正在使用await关键字,因此,工作本身是异步任务类型。即使通过了调度程序,我也无法使用Task.Factory.StartNew,因为它将考虑...

c# asynchronous .net-core async-await task-parallel-library
1个回答
3
投票

首先,请注意TaskScheduler仅适用于executing

© www.soinside.com 2019 - 2024. All rights reserved.