Mat*_*zen 3 c# deadlock async-await
根据此链接,在特定情况下 async/await 可能会发生死锁。
但是,如果我ConfigureAwait(false)总是使用,还会发生死锁吗?
例如: task.ConfigureAwait(false).GetAwaiter().GetResult()
代替: task.GetAwaiter().GetResult()
如果将要完成的task任何内容或任何进一步的嵌套操作捕获了您当前的上下文,如果该上下文与特定线程相关联,它仍然可能会死锁- 因为您正在GetResult 使用该线程进行调用并阻塞,使其其他人无法使用还在用。
只需使用await. 它await可以释放您当前的上下文。
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |