Task.Wait应该被弃用吗?我了解到从池线程调用Task.Wait会导致线程饥饿死锁的困难方法。根据这篇MSDN文章,在“死锁”一章中,我们应该遵守这两条规则:似乎唯一合法使用Task.Wait的地方是在main函数中——我在这里有点夸张,但你明白了这个想法。为什么Task.Wait仍然是.NET框架的一部分,看看它有多危险?为什么Task.Wait仍然是.NET框架的一部分,看看它有多危险?因为您希望能够同步阻止Task。很少,但你仍然这样做。正如您所说,Main可能是最受欢迎(最好是唯一)的地方。这一点,以及微软因其向后兼容性而臭名昭著的事实,使得它一旦被引入就不太可能被弃用或从BCL中消失。任务。等等。当人们没有正确阅读文档并且不理解调用此方法的含义并最终滥用它时,真正的问题出现在IMO上。如果你小心使用它,它会很好用。另一件事是你不能一直异步。不幸的是,很多时候您的代码是同步签名的,无法更改,并且需要调用异步方法调用。是的,这很危险,每个人都气馁,并被认为是异步代码的反模式,我自己已经回答了至少十几个关于SO的问题,人们最终陷入僵局,不明白为什么,但TPL作者仍然需要做出这些类型的呼叫可能。以上是C#学习教程:Task.Wait该不该放弃?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
