Task.Delay的同步上下文

时间:2018-11-19 15:35:20

标签: c# .net task synchronizationcontext

我发现,Task.Run始终在.NET Framework线程池(TaskScheduler.Default)的线程上执行。我想与Task.Delay相同,但是我不确定。

MSDN仅对Task.Delay说:

  

创建将在一段时间后完成的任务

因此,问题:在哪里(在哪个同步上下文中)运行Task.Delay

1 个答案:

答案 0 :(得分:3)

Task.Delay 不在任何地方运行。它只是创建一个在指定时间后完成的任务。与Task.Run不同,它不接受您的委托在某个地方运行。大多数任务不会代表在另一个线程上执行某些方法。 Task.Run是执行此操作的少数方法之一。