bav*_*aza 8 c# task task-parallel-library
请考虑以下代码:
// MyKickAssTaskScheduler is a TaskScheduler, IDisposable
using (var scheduler = new MyKickAssTaskScheduler())
{
Task foo = new Task(() => DoSomething());
foo.ContinueWith((_) => DoSomethingElse());
foo.Start(scheduler);
foo.Wait();
}
Run Code Online (Sandbox Code Playgroud)
是否ContinueWith()保证在我的调度程序上运行任务?如果没有,它将使用哪个调度程序?
StartNew,ContinueWith将默认为TaskScheduler.Current,当未在任务(MSDN)内调用时,Current将返回Default调度程序.
要避免出现默认调度程序问题,应始终将显式TaskScheduler传递给Task.ContinueWith和Task.Factory.StartNew.
| 归档时间: |
|
| 查看次数: |
3278 次 |
| 最近记录: |