Cya*_*yan 23 c# multithreading asynchronous async-await
我读过几个.GetAwaiter().GetResult();可能导致死锁的地方,我们应该使用async/ await代替.但我看到许多代码示例使用它.可以使用它吗?它可能陷入僵局的情况是什么?还有什么我应该用的,比如Task.Wait?
Ste*_*ary 44
正如我在我的博客中描述的那样,GetAwaiter().GetResult()当它在一个单线程的时间环境中使用时,它会死锁.这在UI线程或ASP.NET上下文(对于预Core ASP.NET)中调用时最常见.
Wait有同样的问题.适当的修复是使用await,并使调用代码异步.
请注意,MainConsole应用程序中的方法是此规则的一个例外; 在那里使用是完全合适的.许多代码示例都以这种方式使用它.
| 归档时间: |
|
| 查看次数: |
12350 次 |
| 最近记录: |