【发布时间】:2014-11-22 13:50:33
【问题描述】:
我有一个理论问题要问你。如果我在另一个任务中等待一个任务的结果会发生什么?我想知道我当前的系统以后是否可以工作。
一个任务被启动并做一些事情。在某些时候,该任务可能需要另一个任务来处理当前任务本身无法处理的数据。所以我使用 await 来确保只要他没有辅助任务的结果,当前任务就不会继续。但是如果助手失败了怎么办?当前任务会保持锁定状态吗?
我能否以某种方式避免这种死锁(不改变系统本身 - 任务中的任务)?
【问题讨论】:
-
写个简单的测试代码看看结果如何?
-
你不能
awaitResult,你可以等待任务。如果失败,会抛出异常 -
当然我可以写测试代码,但这比在这里问要花更长的时间。回答这个问题不应该太多努力:)否则我很抱歉。对不起,我的错。当然,我的意思是等待任务。那么理论上,如果等待的任务失败,“等待”会抛出异常?
标签: c# .net asynchronous task-parallel-library async-await