Jak*_*ake 7 c# task-parallel-library
我希望能够在不启动它的情况下创建任务,类似于运行var a = new Task(); a.Start();但使用自定义工厂.工厂提供StartNew(),但我找不到一种方法来分开这两个行动.这可能吗?
Jon*_*eet 15
A TaskFactory基本上是两组默认选项(创建和继续),默认取消令牌和任务调度程序.
您可以在刚刚创建任务时指定取消令牌和创建选项 - 然后在您想要的任何计划程序上启动它.所以:
Task task = new Task(action,
factory.CancellationToken,
factory.CreationOptions);
...
task.Start(factory.Scheduler);
Run Code Online (Sandbox Code Playgroud)
除了延续选项之外,还应该做的工作.继续选项仅在您添加延续时才相关,您可以直接指定.有没有未涵盖的内容?
(需要注意的一点是,基于任务的异步模式通常围绕"热"任务展开,这些任务是在你看到它们的时候开始的.所以你可能想避免过多地暴露未启动的任务.)
| 归档时间: |
|
| 查看次数: |
5435 次 |
| 最近记录: |