我发现,Task.Run
始终在.NET Framework线程池(TaskScheduler.Default
)的线程上执行。我想与Task.Delay
相同,但是我不确定。
MSDN仅对Task.Delay
说:
创建将在一段时间后完成的任务
因此,问题:在哪里(在哪个同步上下文中)运行Task.Delay
?
答案 0 :(得分:3)
Task.Delay
不在任何地方运行。它只是创建一个在指定时间后完成的任务。与Task.Run
不同,它不接受您的委托在某个地方运行。大多数任务不会代表在另一个线程上执行某些方法。 Task.Run
是执行此操作的少数方法之一。