gpt4 book ai didi

c# - 使用自定义任务工厂创建但不启动任务?

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

我希望能够在不启动任务的情况下创建任务,类似于运行 var a = new Task(); a.Start(); 但带有自定义工厂。工厂提供StartNew(),但我找不到将这两个 Action 分开的方法。这可能吗?

最佳答案

TaskFactory 基本上是两组默认选项(创建和继续)、默认取消标记和任务调度程序。

您可以在刚刚创建任务时指定取消 token 和创建选项 - 然后在您想要的任何调度程序上启动它。所以:

Task task = new Task(action,
factory.CancellationToken,
factory.CreationOptions);
...
task.Start(factory.Scheduler);

应该完成除继续选项以外的工作。 continuation 选项仅在您添加 continuation 时才相关,您可以直接指定。是否有任何内容未包含在其中?

(需要注意的一件事是,基于任务的异步模式通常围绕“热门”任务展开,这些任务无论如何都会在您看到它们时启动。因此您可能希望避免过于广泛地公开未启动的任务。)

关于c# - 使用自定义任务工厂创建但不启动任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143948/

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