gpt4 book ai didi

c# - 为隐式调度方法显式指定 TaskScheduler

转载 作者:太空狗 更新时间:2023-10-29 23:09:59 25 4
gpt4 key购买 nike

我有以下使用隐式调度的方法:

private async Task FooAsync()
{
await Something();
DoAnotherThing();
await SomethingElse();
DoOneLastThing();
}

但是,从一个特定的调用站点,我希望它在低优先级调度程序而不是默认调度程序上运行:

private async Task BarAsync()
{
await Task.Factory.StartNew(() => await FooAsync(),
...,
...,
LowPriorityTaskScheduler);
}

我如何实现这一点?这似乎是一个非常简单的问题,但我完全精神障碍了!

注意:我知道示例实际上不会编译 :)

最佳答案

创建您自己的 TaskFactory 实例,使用您想要的调度程序进行初始化。然后在该实例上调用 StartNew:

TaskScheduler taskScheduler = new LowPriorityTaskScheduler();
TaskFactory taskFactory = new TaskFactory(taskScheduler);
...
await taskFactory.StartNew(FooAsync);

关于c# - 为隐式调度方法显式指定 TaskScheduler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9037879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com