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
是为数不多的方法之一。
我发现,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
是为数不多的方法之一。