async/await 相关死锁问题整理记录
2019-12-19 09:43 景裔 阅读(304) 评论(0) 收藏 举报winfrom应用程序用async/await,有时候经常莫名的卡死,仔细探寻了下细节原因:
死锁问题:
- 使用 Task.Wait()?立刻死锁(deadlock) - walterlv
- 不要使用 Dispatcher.Invoke,因为它可能在你的延迟初始化
Lazy<T>中导致死锁 - walterlv - 在有 UI 线程参与的同步锁(如 AutoResetEvent)内部使用 await 可能导致死锁
- .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况 - walterlv
解决方法:
浙公网安备 33010602011771号