Task.Delay 的同步上下文

Synchronization context for Task.Delay

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

MSDN 只针对 Task.Delay 说:

Creates a task that will complete after a time delay

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

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