.NET Task.Result是否阻塞(同步)一个线程

时间:2016-12-26 06:05:46

标签: c# asp.net asynchronous synchronization task

Task.Result 同步阻止当前线程,使其在等待任务完成时不能用于执行其他操作吗?

例如,如果我在ASP.NET执行路径中调用Task.Result,则当前线程在等待结果时不能用于处理其他请求。

顺便说一句,C#5.0中的异步怎么样? 等待 async方法阻止当前线程吗?

感谢您的任何评论。

1 个答案:

答案 0 :(得分:14)

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表达式不会阻塞正在执行它的线程