C# 什么是方法;“做”;当它等待一个空任务时?
我概述了一个类,为了让自己高兴,我临时返回了一个方法C# 什么是方法;“做”;当它等待一个空任务时?,c#,task-parallel-library,C#,Task Parallel Library,我概述了一个类,为了让自己高兴,我临时返回了一个方法 public override Task DoPostProcessing() { return Task.Factory.StartNew(() => { ;} ); } 如果我调用这个方法并等待它,会发生什么?这是在编译时优化的任务还是运行的任务?正在运行。它将在线程池上调度一个方法,该线程池将立即返回 在旁注上。使用Task.Run在线程池线程上运行代码,或者只使用Task.FromResult返回已完成的任务任务。对于
public override Task DoPostProcessing()
{
return Task.Factory.StartNew(() => { ;} );
}
如果我调用这个方法并等待它,会发生什么?这是在编译时优化的任务还是运行的任务?正在运行。它将在线程池上调度一个方法,该线程池将立即返回
在旁注上。使用
Task.Run
在线程池线程上运行代码,或者只使用Task.FromResult
返回已完成的任务<代码>任务。对于noop实现,FromResult应该是您的选择。创建等待器状态机时,有一条短路路径询问函数是否已运行,如果已运行,它将返回。根据我的记忆,返回任务
,应该只使用异步
等待
是不好的做法。我知道开始新的
,有时我还是习惯性地使用它:(.谢谢你的回答,这很有意义!