public async Task<string> GetName(int id)
{
Task<string> nameTask = Task.Factory.StartNew(() => string.Format("Name matching id {0} = Developer", id));
return nameTask.Result;
}
在上面的方法的返回语句中,我使用了Task<T>.Result
属性。
public async Task<string> GetName(int id)
{
Task<string> nameTask = Task.Factory.StartNew(() => string.Format("Name matching id {0} = Developer", id));
return await nameTask;
}
这里我正在使用 await Task<T>
。如果我认为 await 将释放调用线程,但 Task<T>.Result
会阻塞它,那么我的想法是正确的吗?
async-await
的内容,请查看我的async-await
精选文章。 - Paulo Morgadoasync
并没有什么好处,因为该方法会阻塞调用线程。然而,第二种方法应该让当前线程暂停而不是阻塞,直到任务被设置为完成状态。 - Matt