Task.Result 同步阻止当前线程,使其在等待任务完成时不能用于执行其他操作吗?
例如,如果我在ASP.NET执行路径中调用Task.Result,则当前线程在等待结果时不能用于处理其他请求。
顺便说一句,C#5.0中的异步怎么样? 等待 async方法阻止当前线程吗?
感谢您的任何评论。
答案 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表达式不会阻塞正在执行它的线程