考虑以下代码:
async Task<int> foo()
{
await Task.Delay(1000);
return 42;
}
...
// OPTION 1
Task t = Task.Factory.StartNew(foo,
CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default);
t.Wait();
...
// OPTION 2
Task t = foo();
t.Wait()
以下是需要翻译的内容:
两种调用选项有什么实质性区别?
对于选项1,如果我重写默认的TaskScheduler,在foo方法中使用await,将使用哪个TaskScheduler?会使用默认的还是传递给父任务的参数?