gpt4 book ai didi

c# - 是.GetAwaiter().GetResult();一般用途安全吗?

转载 作者:IT王子 更新时间:2023-10-29 04:26:51 37 4
gpt4 key购买 nike

我在一些地方读到 .GetAwaiter().GetResult(); 可能导致死锁,我们应该使用 async/await 相反。但是我看到很多使用它的代码示例。可以用吗?在哪些情况下会出现死锁?还有其他我应该使用的东西吗,比如 Task.Wait

最佳答案

正如我在我的博客中描述的那样,GetAwaiter().GetResult() can deadlock when it's used in a one-thread-at-a-time context .这在 UI 线程或 ASP.NET 上下文(对于 pre-Core ASP.NET)中调用时最常见。

Wait 也有同样的问题。适当的解决方法是使用 await,并使调用代码异步。

请注意,控制台应用程序中的 Main 方法是此规则的一个异常(exception);在那里使用是完全合适的。许多代码示例以这种方式使用它。

关于c# - 是.GetAwaiter().GetResult();一般用途安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39007006/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com