.NET Task.Result 是否(同步)阻塞线程? [重复]

问题描述 投票:0回答:1

Task.Result
同步是否会阻塞当前线程,使其在等待任务完成时无法用于执行其他操作?

例如,如果我在 ASP.NET 执行路径中调用

Task.Result
,则当前线程在等待结果时不能用于处理其他请求。

顺便问一下,C# 5.0 中的

async
怎么样?
await
方法中的
async
是否会阻塞当前线程?

感谢您的任何评论。

c# asp.net asynchronous async-await task
1个回答
23
投票

MSDN:https://msdn.microsoft.com/en-us/library/dd321468(v=vs.110).aspx

访问属性的 get 访问器会阻塞调用线程,直到异步操作完成;相当于调用了Wait方法

MSDN:https://msdn.microsoft.com/en-us/library/hh156528.aspx

await 表达式不会阻塞正在执行的线程

© www.soinside.com 2019 - 2024. All rights reserved.